@botpress/sdk 4.8.4 → 4.8.5
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/.turbo/turbo-build.log +4 -4
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +3 -3
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +3 -3
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -85,7 +85,7 @@ ${v}`.trim();case C.ZodFirstPartyTypeKind.ZodEnum:return o.values.map(se).join("
|
|
|
85
85
|
`))):Z=D.stylize("[Circular]","special")),Q(k)){if(A&&Te.match(/^\d+$/))return Z;k=JSON.stringify(""+Te),k.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(k=k.slice(1,-1),k=D.stylize(k,"name")):(k=k.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),k=D.stylize(k,"string"))}return k+": "+Z}function P(D,j,F){var de=D.reduce(function(Te,A){return A.indexOf(`
|
|
86
86
|
`)>=0,Te+A.replace(/\u001b\[\d\d?m/g,"").length+1},0);return de>60?F[0]+(j===""?"":j+`
|
|
87
87
|
`)+" "+D.join(`,
|
|
88
|
-
`)+" "+F[1]:F[0]+j+" "+D.join(", ")+" "+F[1]}xe.types=TI();function B(D){return Array.isArray(D)}xe.isArray=B;function v(D){return typeof D=="boolean"}xe.isBoolean=v;function S(D){return D===null}xe.isNull=S;function E(D){return D==null}xe.isNullOrUndefined=E;function H(D){return typeof D=="number"}xe.isNumber=H;function K(D){return typeof D=="string"}xe.isString=K;function ae(D){return typeof D=="symbol"}xe.isSymbol=ae;function Q(D){return D===void 0}xe.isUndefined=Q;function ge(D){return oe(D)&&Ve(D)==="[object RegExp]"}xe.isRegExp=ge,xe.types.isRegExp=ge;function oe(D){return typeof D=="object"&&D!==null}xe.isObject=oe;function re(D){return oe(D)&&Ve(D)==="[object Date]"}xe.isDate=re,xe.types.isDate=re;function Oe(D){return oe(D)&&(Ve(D)==="[object Error]"||D instanceof Error)}xe.isError=Oe,xe.types.isNativeError=Oe;function ze(D){return typeof D=="function"}xe.isFunction=ze;function tt(D){return D===null||typeof D=="boolean"||typeof D=="number"||typeof D=="string"||typeof D=="symbol"||typeof D>"u"}xe.isPrimitive=tt,xe.isBuffer=_I();function Ve(D){return Object.prototype.toString.call(D)}function Je(D){return D<10?"0"+D.toString(10):D.toString(10)}var mt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Ue(){var D=new Date,j=[Je(D.getHours()),Je(D.getMinutes()),Je(D.getSeconds())].join(":");return[D.getDate(),mt[D.getMonth()],j].join(" ")}xe.log=function(){console.log("%s - %s",Ue(),xe.format.apply(xe,arguments))},xe.inherits=Mt(),xe._extend=function(D,j){if(!j||!oe(j))return D;for(var F=Object.keys(j),de=F.length;de--;)D[F[de]]=j[F[de]];return D};function Pe(D,j){return Object.prototype.hasOwnProperty.call(D,j)}var Se=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;xe.promisify=function(j){if(typeof j!="function")throw new TypeError('The "original" argument must be of type Function');if(Se&&j[Se]){if(F=j[Se],typeof F!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(F,Se,{value:F,enumerable:!1,writable:!1,configurable:!0}),F}function F(){for(var de,Te,A=new Promise(function(J,ie){de=J,Te=ie}),k=[],Z=0;Z<arguments.length;Z++)k.push(arguments[Z]);k.push(function(J,ie){J?Te(J):de(ie)});try{j.apply(this||ai,k)}catch(J){Te(J)}return A}return Object.setPrototypeOf(F,Object.getPrototypeOf(j)),Se&&Object.defineProperty(F,Se,{value:F,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(F,e(j))},xe.promisify.custom=Se;function fe(D,j){if(!D){var F=new Error("Promise was rejected with a falsy value");F.reason=D,D=F}return j(D)}function ve(D){if(typeof D!="function")throw new TypeError('The "original" argument must be of type Function');function j(){for(var F=[],de=0;de<arguments.length;de++)F.push(arguments[de]);var Te=F.pop();if(typeof Te!="function")throw new TypeError("The last argument must be of type Function");var A=this||ai,k=function(){return Te.apply(A,arguments)};D.apply(this||ai,F).then(function(Z){t.nextTick(k.bind(null,null,Z))},function(Z){t.nextTick(fe.bind(null,Z,k))})}return Object.setPrototypeOf(j,Object.getPrototypeOf(D)),Object.defineProperties(j,e(D)),j}return xe.callbackify=ve,xe}var ce=bI();ce.format;ce.deprecate;ce.debuglog;ce.inspect;ce.types;ce.isArray;ce.isBoolean;ce.isNull;ce.isNullOrUndefined;ce.isNumber;ce.isString;ce.isSymbol;ce.isUndefined;ce.isRegExp;ce.isObject;ce.isDate;ce.isError;ce.isFunction;ce.isPrimitive;ce.isBuffer;ce.log;ce.inherits;ce._extend;ce.promisify;ce.callbackify;var R0=ce._extend,M0=ce.callbackify,N0=ce.debuglog,D0=ce.deprecate,H0=ce.format,U0=ce.inherits,$0=ce.inspect,Z0=ce.isArray,j0=ce.isBoolean,K0=ce.isBuffer,L0=ce.isDate,F0=ce.isError,W0=ce.isFunction,z0=ce.isNull,q0=ce.isNullOrUndefined,G0=ce.isNumber,V0=ce.isObject,J0=ce.isPrimitive,X0=ce.isRegExp,Y0=ce.isString,Q0=ce.isSymbol,eR=ce.isUndefined,tR=ce.log,nR=ce.promisify,rR=ce.types,iR=ce.TextEncoder=globalThis.TextEncoder,aR=ce.TextDecoder=globalThis.TextDecoder;var yr=class{defaultOptions;constructor(e){this.defaultOptions=e}info(...e){this._log("info",e)}debug(...e){this._log("debug",e)}warn(...e){this._log("warn",e)}error(...e){this._log("error",e)}_log(e,n){this._getConsoleMethod(e)(this._serializeMessage(n))}_serializeMessage(e){let n=ce.format(...e);return X.env.BP_LOG_FORMAT==="json"?this.getJsonMessage(n):n}getJsonMessage(e){return JSON.stringify({msg:e,options:this.defaultOptions})}_getConsoleMethod(e){switch(e){case"debug":return console.debug;case"warn":return console.warn;case"error":return console.error;default:return console.info}}};var jn=class extends yr{constructor(e){super({visibleToBotOwners:!0,...e})}with(e){return new jn({...this.defaultOptions,...e})}withUserId(e){return this.with({userId:e})}withConversationId(e){return this.with({conversationId:e})}withVisibleToBotOwners(e){return this.with({visibleToBotOwners:e})}forBot(){return this.withVisibleToBotOwners(!0)}getJsonMessage(e){return JSON.stringify({msg:e,visible_to_bot_owner:this.defaultOptions.visibleToBotOwners,options:this.defaultOptions})}};O();M();R();var PI=t=>["traceparent","tracestate","sentry-trace"].reduce((e,n)=>(t[n]&&(e[n]=t[n]),e),{}),wv=t=>async e=>{let n=$h(e.headers),[,r]=(e.headers.traceparent||"").split("-"),a=new xI({botId:n.botId,integrationId:n.integrationId,retry:qa,headers:PI(e.headers)}),s=new ni(a),i=new jn({traceId:r}),o={ctx:n,req:e,client:s,logger:i,instance:t};try{let l;switch(n.operation){case"webhook_received":l=await EI(o);break;case"register":l=await SI(o);break;case"unregister":l=await kI(o);break;case"message_created":l=await CI(o);break;case"action_triggered":l=await OI(o);break;case"ping":l=await BI(o);break;case"create_user":l=await II(o);break;case"create_conversation":l=await AI(o);break;default:throw new Error(`Unknown operation ${n.operation}`)}return l?{...l,status:l.status??200}:{status:200}}catch(l){if(wI(l)){let p=l.type==="Runtime"?l:new bv(l.message,l);return i.forBot().error(p.message),{status:p.code,body:JSON.stringify(p.toJSON())}}console.error(l);let f=new bv("An unexpected error occurred in the integration. Bot owners: Check logs for more informations. Integration owners: throw a RuntimeError to return a custom error message instead.");return i.forBot().error(f.message),{status:f.code,body:JSON.stringify(f.toJSON())}}},BI=async t=>{},EI=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{let{req:s}=Ct(n);return a.webhook({client:t,ctx:e,req:s,logger:r})},SI=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{if(!a.register)return;let{webhookUrl:s}=Ct(n);await a.register({client:t,ctx:e,webhookUrl:s,logger:r})},kI=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{if(!a.unregister)return;let{webhookUrl:s}=Ct(n);await a.unregister({ctx:e,webhookUrl:s,client:t,logger:r})},II=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{if(!a.createUser)return;let{tags:s}=Ct(n);return await a.createUser({ctx:e,client:t,tags:s,logger:r})},AI=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{if(!a.createConversation)return;let{channel:s,tags:i}=Ct(n);return await a.createConversation({ctx:e,client:t,channel:s,tags:i,logger:r})},CI=async({ctx:t,req:e,client:n,logger:r,instance:a})=>{let{conversation:s,user:i,type:o,payload:l,message:f}=Ct(e),p=a.channels[s.channel];if(!p)throw new Error(`Channel ${s.channel} not found`);let y=p.messages[o];if(!y)throw new Error(`Message of type ${o} not found in channel ${s.channel}`);await y({ctx:t,conversation:s,message:f,user:i,type:o,client:n,payload:l,ack:async({tags:h})=>{await n.updateMessage({id:f.id,tags:h})},logger:r})},OI=async({req:t,ctx:e,client:n,logger:r,instance:a})=>{let{input:s,type:i}=Ct(t);if(!i)throw new Error("Missing action type");let o=a.actions[i];if(!o)throw new Error(`Action ${i} not found`);let l=new Ga,p={output:await o({ctx:e,input:s,client:n,type:i,logger:r,metadata:l}),meta:l.toJSON()};return{body:JSON.stringify(p)}};var Dl=class{constructor(e){this.props=e;this.actions=e.actions,this.channels=e.channels,this.register=e.register,this.unregister=e.unregister,this.createUser=e.createUser,this.createConversation=e.createConversation,this.webhook=e.handler}actions;channels;register;unregister;createUser;createConversation;webhook;handler=wv(this);start=e=>Fa(this.handler,e)};O();M();R();O();M();R();O();M();R();O();M();R();O();M();R();var Hl=class{constructor(e){this.props=e;this.integrations=e.integrations,this.plugins=e.plugins,this.user=e.user,this.conversation=e.conversation,this.message=e.message,this.states=e.states,this.configuration=e.configuration,this.events=e.events,this.recurringEvents=e.recurringEvents,this.actions=e.actions,this.tables=e.tables,this.workflows=e.workflows,this.attributes=e.attributes}integrations;plugins;user;conversation;message;states;configuration;events;recurringEvents;actions;tables;workflows;attributes;addIntegration(e,n){let r=this;return r.integrations||(r.integrations={}),r.integrations[e.name]={enabled:n.enabled,...e,configurationType:n.configurationType,configuration:n.configuration,disabledChannels:n.disabledChannels},this}addPlugin(e,n){let r=this;r.plugins||(r.plugins={});let a=n.alias??e.name;return r.plugins[a]={...e,alias:n.alias,configuration:n.configuration,interfaces:n.interfaces},r.user=this._mergeUser(r.user,e.definition.user),r.conversation=this._mergeConversation(r.conversation,e.definition.conversation),r.message=this._mergeMessage(r.message,e.definition.message),r.recurringEvents=this._mergeRecurringEvents(r.recurringEvents,e.definition.recurringEvents),r.tables=this._mergeTables(r.tables,e.definition.tables),r.workflows=this._mergeWorkflows(r.workflows,e.definition.workflows),r.states=this._mergeStates(r.states,this._prefixKeys(e.definition.states,n.alias)),r.events=this._mergeEvents(r.events,this._prefixKeys(e.definition.events,n.alias)),r.actions=this._mergeActions(r.actions,this._prefixKeys(e.definition.actions,n.alias)),this}_mergeUser=(e,n)=>({tags:{...e?.tags,...n?.tags}});_mergeConversation=(e,n)=>({tags:{...e?.tags,...n?.tags}});_mergeMessage=(e,n)=>({tags:{...e?.tags,...n?.tags}});_mergeStates=(e,n)=>({...e,...n});_mergeEvents=(e,n)=>({...e,...n});_mergeRecurringEvents=(e,n)=>({...e,...n});_mergeActions=(e,n)=>({...e,...n});_mergeTables=(e,n)=>({...e,...n});_mergeWorkflows=(e,n)=>({...e,...n});_prefixKeys=(e,n)=>!e||!n?e:Le.mapKeys(e,r=>`${n}${Va}${r}`)};O();M();R();O();M();R();import{isApiError as $I,Client as ZI,RuntimeError as Bv}from"@botpress/client";O();M();R();var Kn=class extends yr{constructor(e){super({...e})}with(e){return new Kn({...this.defaultOptions,...e})}withUserId(e){return this.with({userId:e})}withConversationId(e){return this.with({conversationId:e})}withWorkflowId(e){return this.with({workflowId:e})}withEventId(e){return this.with({eventId:e})}withMessageId(e){return this.with({messageId:e})}};O();M();R();O();M();R();var en=class{constructor(e,n={before:{},after:{}}){this._client=e;this._hooks=n}getConversation=e=>this._run("getConversation",e);listConversations=e=>this._run("listConversations",e);updateConversation=e=>this._run("updateConversation",e);deleteConversation=e=>this._run("deleteConversation",e);listParticipants=e=>this._run("listParticipants",e);addParticipant=e=>this._run("addParticipant",e);getParticipant=e=>this._run("getParticipant",e);removeParticipant=e=>this._run("removeParticipant",e);createEvent=e=>this._run("createEvent",e);getEvent=e=>this._run("getEvent",e);listEvents=e=>this._run("listEvents",e);createMessage=e=>this._run("createMessage",e);getOrCreateMessage=e=>this._run("getOrCreateMessage",e);getMessage=e=>this._run("getMessage",e);updateMessage=e=>this._run("updateMessage",e);listMessages=e=>this._run("listMessages",e);deleteMessage=e=>this._run("deleteMessage",e);getUser=e=>this._run("getUser",e);listUsers=e=>this._run("listUsers",e);updateUser=e=>this._run("updateUser",e);deleteUser=e=>this._run("deleteUser",e);getState=e=>this._run("getState",e);setState=e=>this._run("setState",e);getOrSetState=e=>this._run("getOrSetState",e);patchState=e=>this._run("patchState",e);callAction=e=>this._run("callAction",e);uploadFile=e=>this._run("uploadFile",e);upsertFile=e=>this._run("upsertFile",e);deleteFile=e=>this._run("deleteFile",e);listFiles=e=>this._run("listFiles",e);getFile=e=>this._run("getFile",e);updateFileMetadata=e=>this._run("updateFileMetadata",e);searchFiles=e=>this._run("searchFiles",e);trackAnalytics=e=>this._run("trackAnalytics",e);getTableRow=e=>this._run("getTableRow",e);createTableRows=e=>this._run("createTableRows",e);findTableRows=e=>this._run("findTableRows",e);deleteTableRows=e=>this._run("deleteTableRows",e);updateTableRows=e=>this._run("updateTableRows",e);upsertTableRows=e=>this._run("upsertTableRows",e);createWorkflow=e=>this._run("createWorkflow",e);getWorkflow=e=>this._run("getWorkflow",e);updateWorkflow=e=>this._run("updateWorkflow",e);deleteWorkflow=e=>this._run("deleteWorkflow",e);listWorkflows=e=>this._run("listWorkflows",e);createConversation=e=>this._client.createConversation(e);getOrCreateConversation=e=>this._client.getOrCreateConversation(e);createUser=e=>this._client.createUser(e);getOrCreateUser=e=>this._client.getOrCreateUser(e);_run=async(e,n)=>{let r=this._hooks.before[e];r&&(n=await r(n));let a=await this._client[e](n),s=this._hooks.after[e];return s&&(a=await s(a,n)),a}};O();M();R();O();M();R();var mr=t=>new Proxy({},{get:(e,n)=>({listInstances:{all:r=>fn({workflowName:n,client:t,input:r}),running:r=>fn({workflowName:n,client:t,input:r,statuses:["in_progress"]}),scheduled:r=>fn({workflowName:n,client:t,input:r,statuses:["pending","listening"]}),allFinished:r=>fn({workflowName:n,client:t,input:r,statuses:["completed","cancelled","failed","timedout"]}),cancelled:r=>fn({workflowName:n,client:t,input:r,statuses:["cancelled"]}),failed:r=>fn({workflowName:n,client:t,input:r,statuses:["failed"]}),succeeded:r=>fn({workflowName:n,client:t,input:r,statuses:["completed"]}),timedOut:r=>fn({workflowName:n,client:t,input:r,statuses:["timedout"]})},startNewInstance:async r=>{let{workflow:a}=await t.createWorkflow({name:n,status:"pending",...r});return{workflow:dn({client:t,workflow:a})}}})}),fn=async t=>{let e=await t.client.listWorkflows({name:t.workflowName,statuses:t.statuses,...t.input});return{...e,workflows:e.workflows.map(n=>dn({client:t.client,workflow:n}))}},dn=t=>({...t.workflow,async update(e){let{workflow:n}=await t.client.updateWorkflow({id:t.workflow.id,...e});return{workflow:dn({client:t.client,workflow:n})}},async setFailed({failureReason:e}){let{workflow:n}=await t.client.updateWorkflow({id:t.workflow.id,status:"failed",failureReason:e});return{workflow:dn({client:t.client,workflow:n})}},async setCompleted({output:e}={}){let{workflow:n}=await t.client.updateWorkflow({id:t.workflow.id,status:"completed",output:e});return{workflow:dn({client:t.client,workflow:n})}},async cancel(){let{workflow:e}=await t.client.updateWorkflow({id:t.workflow.id,status:"cancelled"});return{workflow:dn({client:t.client,workflow:e})}}});O();M();R();O();M();R();var RI=ne.enum(["event_received","register","unregister","ping","action_triggered"]),xv=t=>{let e=t[_a],n=t[ba],r=t[My],a=RI.parse(t[wa]);if(!e)throw new Error("Missing bot headers");if(!r)throw new Error("Missing type headers");if(!n)throw new Error("Missing configuration headers");if(!a)throw new Error("Missing operation headers");return{botId:e,operation:a,type:r,configuration:n?JSON.parse(G.from(n,"base64").toString("utf-8")):{}}};O();M();R();var ft={status:200};O();M();R();O();M();R();var Ul=t=>{switch(t){case"workflow_continued":return"continued";case"workflow_started":return"started";case"workflow_timedout":return"timed_out";default:throw new Error(`Unsupported workflow update type: ${t}`)}};var MI=["child_workflow_deleted","child_workflow_finished","workflow_timedout","workflow_started","workflow_continued"],Pv=async(t,e)=>{if(t.ctx.type!=="workflow_update"||!MI.includes(e.payload.type))throw new Error("Unexpected event type");let n={...t,logger:NI(t,e)};if(!e.payload.workflow.name)return n.logger.warn("Received workflow update event without a workflow name. Assuming this workflow was not defined by the bot.",e.payload.workflow),ft;switch(e.payload.type){case"child_workflow_deleted":case"child_workflow_finished":n.logger.info(`Received child workflow event "${e.payload.type}", but child workflows are not yet supported`);break;case"workflow_timedout":case"workflow_started":case"workflow_continued":return await DI(n,e);default:e.payload.type}return ft},NI=(t,e)=>t.logger.with({eventId:e.id,workflowId:e.payload.workflow.id,conversationId:e.payload.conversation?.id,userId:e.payload.user?.id}),DI=async(t,e)=>{let n=Ul(e.payload.type),r=t.self.workflowHandlers[n]?.[e.payload.workflow.name];return!r||r.length===0?(t.logger.warn(`No ${n} handler found for workflow "${e.payload.workflow.name}"`),ft):(await HI(t,e),await UI(t,e),ft)},HI=async(t,e)=>{e.payload.workflow.status==="pending"&&await t.client.updateWorkflow({id:e.payload.workflow.id,status:"in_progress",eventId:e.id})},UI=async(t,e)=>{let n=Ul(e.payload.type),r=t.self.workflowHandlers[n]?.[e.payload.workflow.name];for(let a of r)await a({...t,conversation:e.payload.conversation,user:e.payload.user,workflow:dn({...t,workflow:e.payload.workflow}),workflows:mr(t.client)})};O();M();R();var Ev=t=>async e=>{let n=xv(e.headers),r=new Kn,a=new ZI({botId:n.botId,retry:qa}),s=new en(a,{before:{createMessage:async o=>{let l=t.hookHandlers.before_outgoing_message[o.type]??[];for(let f of l){let p=new en(a);o=(await f({client:p,ctx:n,logger:r.with({conversationId:o.conversationId,userId:o.userId}),data:o,...pn({client:p})}))?.data??o}return o},callAction:async o=>{let l=t.hookHandlers.before_outgoing_call_action[o.type]??[];for(let f of l){let p=new en(a);o=(await f({client:p,ctx:n,logger:r,data:o,...pn({client:p})}))?.data??o}return o}},after:{createMessage:async o=>{let l=t.hookHandlers.after_outgoing_message[o.message.type]??[];for(let f of l){let p=new en(a);o=(await f({client:p,ctx:n,logger:r.with({messageId:o.message.id,conversationId:o.message.conversationId,userId:o.message.userId}),data:o,...pn({client:p})}))?.data??o}return o},callAction:async(o,l)=>{let{type:f}=l,p=t.hookHandlers.after_outgoing_call_action[f]??[];for(let y of p){let g=new en(a);o=(await y({client:g,ctx:n,logger:r,data:{type:f,...o},...pn({client:g})}))?.data??o}return o}}}),i={req:e,ctx:n,logger:r,client:s,self:t};try{switch(n.operation){case"action_triggered":return await WI(i);case"event_received":return await FI(i);case"register":return await KI(i);case"unregister":return await LI(i);case"ping":return await jI(i);default:throw new Error(`Unknown operation ${n.operation}`)}}catch(o){if($I(o)){let f=o.type==="Runtime"?o:new Bv(o.message,o);return r.error(f.message),{status:f.code,body:JSON.stringify(f.toJSON())}}let l=new Bv("An unexpected error occurred in the bot.");return r.error(l.message),{status:l.code,body:JSON.stringify(l.toJSON())}}},jI=async t=>ft,KI=async t=>ft,LI=async t=>ft,FI=async t=>{let{ctx:e,logger:n,req:r,client:a,self:s}=t,i={client:a,ctx:e,logger:n,...pn({client:a})},o=Ct(r);if(i.logger=i.logger.with({eventId:o.event.id,messageId:o.event.messageId,conversationId:o.event.conversationId,userId:o.event.userId}),e.type==="workflow_update")return await Pv(t,o.event);if(e.type==="message_created"){let h=o.event,w=h.payload.message;i.logger=i.logger.with({messageId:w.id,conversationId:w.conversationId,userId:w.userId});let P=s.hookHandlers.before_incoming_message[w.type]??[];for(let E of P){let H=await E({...i,data:w});if(w=H?.data??w,H?.stop)return ft}let B={...i,user:h.payload.user,conversation:h.payload.conversation,message:w,event:h},v=s.messageHandlers[w.type]??[];for(let E of v)await E(B);let S=s.hookHandlers.after_incoming_message[w.type]??[];for(let E of S){let H=await E({...i,data:w});if(w=H?.data??w,H?.stop)return ft}return ft}if(e.type==="state_expired"){let w=o.event.payload.state,P={...i,state:w},B=s.stateExpiredHandlers["*"]??[];for(let v of B)await v(P);return ft}let l=o.event,f=s.hookHandlers.before_incoming_event[l.type]??[];for(let h of f){let w=await h({...i,data:l});if(l=w?.data??l,w?.stop)return ft}let p={...i,event:l},y=s.eventHandlers[l.type]??[];for(let h of y)await h(p);let g=s.hookHandlers.after_incoming_event[l.type]??[];for(let h of g){let w=await h({...i,data:l});if(l=w?.data??l,w?.stop)return ft}return ft},WI=async({ctx:t,logger:e,req:n,client:r,self:a})=>{let{input:s,type:i}=Ct(n);if(!i)throw new Error("Missing action type");let o=a.hookHandlers.before_incoming_call_action[i]??[];for(let g of o){let h=await g({ctx:t,logger:e,client:r,data:{type:i,input:s},...pn({client:r})});s=h?.data?.input??s,i=h?.data?.type??i}let l=a.actionHandlers[i];if(!l)throw new Error(`Action ${i} not found`);let f=await l({ctx:t,logger:e,input:s,client:r,type:i,...pn({client:r})}),p=a.hookHandlers.after_incoming_call_action[i]??[];for(let g of p){let h=await g({ctx:t,logger:e,client:r,data:{type:i,output:f},...pn({client:r})});i=h?.data?.type??i,f=h?.data?.output??f}return{status:200,body:JSON.stringify({output:f})}},pn=t=>({workflows:mr(t.client)});var $l=class{constructor(e){this.props=e;this._actionHandlers=e.actions,this._plugins=e.plugins}_actionHandlers;_messageHandlers={};_eventHandlers={};_stateExpiredHandlers={};_hookHandlers={before_incoming_event:{},before_incoming_message:{},before_outgoing_message:{},before_outgoing_call_action:{},before_incoming_call_action:{},after_incoming_event:{},after_incoming_message:{},after_outgoing_message:{},after_outgoing_call_action:{},after_incoming_call_action:{}};_workflowHandlers={started:{},continued:{},timed_out:{}};_plugins={};_registerOrder=0;get actionHandlers(){return new Proxy({},{get:(e,n)=>{let r=this._actionHandlers[n];if(r)return r;for(let a of Object.values(this._plugins))if(r=a.actionHandlers[n],r)return r}})}get messageHandlers(){return new Proxy({},{get:(e,n)=>{let r=Object.values(this._plugins).flatMap(o=>o.messageHandlers[n]??[]),a=this._messageHandlers[n]??[],s=this._messageHandlers["*"]??[],i=[...a,...s].sort((o,l)=>o.order-l.order).map(({handler:o})=>o);return ye.unique([...r,...i])}})}get eventHandlers(){return new Proxy({},{get:(e,n)=>{let r=Object.values(this._plugins).flatMap(o=>o.eventHandlers[n]??[]),a=this._eventHandlers[n]??[],s=this._eventHandlers["*"]??[],i=[...a,...s].sort((o,l)=>o.order-l.order).map(({handler:o})=>o);return ye.unique([...r,...i])}})}get stateExpiredHandlers(){return new Proxy({},{get:(e,n)=>{let r=Object.values(this._plugins).flatMap(o=>o.stateExpiredHandlers[n]??[]),a=this._stateExpiredHandlers[n]??[],s=this._stateExpiredHandlers["*"]??[],i=[...a,...s].sort((o,l)=>o.order-l.order).map(({handler:o})=>o);return ye.unique([...r,...i])}})}get hookHandlers(){return new Proxy({},{get:(e,n)=>{if(this._hookHandlers[n])return new Proxy({},{get:(a,s)=>{let i=Object.values(this._plugins).flatMap(y=>y.hookHandlers[n]?.[s]??[]),o=this._hookHandlers[n]??{},l=o[s]??[],f=o["*"]??[],p=[...l,...f].sort((y,g)=>y.order-g.order).map(({handler:y})=>y);return ye.unique([...i,...p])}})}})}get workflowHandlers(){return new Proxy({},{get:(e,n)=>{let r=this._workflowHandlers[n];if(r)return new Proxy({},{get:(a,s)=>{let i=r[s]?.sort((l,f)=>l.order-f.order).map(({handler:l})=>l)??[],o=Object.values(this._plugins).flatMap(l=>l.workflowHandlers[n]?.[s]??[]);return ye.unique([...i,...o])}})}})}on={message:(e,n)=>{this._messageHandlers[e]=ye.safePush(this._messageHandlers[e],{handler:n,order:this._registerOrder++})},event:(e,n)=>{this._eventHandlers[e]=ye.safePush(this._eventHandlers[e],{handler:n,order:this._registerOrder++})},stateExpired:(e,n)=>{this._stateExpiredHandlers[e]=ye.safePush(this._stateExpiredHandlers[e],{handler:n,order:this._registerOrder++})},beforeIncomingEvent:(e,n)=>{this._hookHandlers.before_incoming_event[e]=ye.safePush(this._hookHandlers.before_incoming_event[e],{handler:n,order:this._registerOrder++})},beforeIncomingMessage:(e,n)=>{this._hookHandlers.before_incoming_message[e]=ye.safePush(this._hookHandlers.before_incoming_message[e],{handler:n,order:this._registerOrder++})},beforeOutgoingMessage:(e,n)=>{this._hookHandlers.before_outgoing_message[e]=ye.safePush(this._hookHandlers.before_outgoing_message[e],{handler:n,order:this._registerOrder++})},beforeOutgoingCallAction:(e,n)=>{this._hookHandlers.before_outgoing_call_action[e]=ye.safePush(this._hookHandlers.before_outgoing_call_action[e],{handler:n,order:this._registerOrder++})},beforeIncomingCallAction:(e,n)=>{this._hookHandlers.before_incoming_call_action[e]=ye.safePush(this._hookHandlers.before_incoming_call_action[e],{handler:n,order:this._registerOrder++})},afterIncomingEvent:(e,n)=>{this._hookHandlers.after_incoming_event[e]=ye.safePush(this._hookHandlers.after_incoming_event[e],{handler:n,order:this._registerOrder++})},afterIncomingMessage:(e,n)=>{this._hookHandlers.after_incoming_message[e]=ye.safePush(this._hookHandlers.after_incoming_message[e],{handler:n,order:this._registerOrder++})},afterOutgoingMessage:(e,n)=>{this._hookHandlers.after_outgoing_message[e]=ye.safePush(this._hookHandlers.after_outgoing_message[e],{handler:n,order:this._registerOrder++})},afterOutgoingCallAction:(e,n)=>{this._hookHandlers.after_outgoing_call_action[e]=ye.safePush(this._hookHandlers.after_outgoing_call_action[e],{handler:n,order:this._registerOrder++})},afterIncomingCallAction:(e,n)=>{this._hookHandlers.after_incoming_call_action[e]=ye.safePush(this._hookHandlers.after_incoming_call_action[e],{handler:n,order:this._registerOrder++})},workflowStart:(e,n)=>{this._workflowHandlers.started[e]=ye.safePush(this._workflowHandlers.started[e],{handler:n,order:this._registerOrder++})},workflowContinue:(e,n)=>{this._workflowHandlers.continued[e]=ye.safePush(this._workflowHandlers.continued[e],{handler:n,order:this._registerOrder++})},workflowTimeout:(e,n)=>{this._workflowHandlers.timed_out[e]=ye.safePush(this._workflowHandlers.timed_out[e],{handler:n,order:this._registerOrder++})}};handler=Ev(this);start=e=>Fa(this.handler,e)};O();M();R();O();M();R();O();M();R();O();M();R();O();M();R();var Zl=class{constructor(e){this.props=e;this.name=e.name,this.version=e.version,this.icon=e.icon,this.title=e.title,this.description=e.description,this.readme=e.readme,this.entities=e.entities??{},this.attributes=e.attributes;let n=this._getEntityReference(this.entities),r=e.events===void 0?{}:Le.mapValues(e.events,i=>({...i,schema:i.schema(n)})),a=e.actions===void 0?{}:Le.mapValues(e.actions,i=>({...i,input:{...i.input,schema:i.input.schema(n)},output:{...i.output,schema:i.output.schema(n)}})),s=e.channels===void 0?{}:Le.mapValues(e.channels,i=>({...i,messages:Le.mapValues(i.messages,o=>({...o,schema:o.schema(n)}))}));this.events=r,this.actions=a,this.channels=s}name;version;title;description;icon;readme;attributes;entities;events;actions;channels;_getEntityReference=e=>{let n={};for(let[r,a]of Object.entries(e)){let s=a.schema._def["x-zui"]?.title,i=a.schema._def.description,o=Ty.ref(r);s&&o.title(s),i&&o.describe(i),n[r]=o}return n}};O();M();R();O();M();R();O();M();R();O();M();R();var jl=class{constructor(e){this.props=e;this.name=e.name,this.version=e.version,this.icon=e.icon,this.readme=e.readme,this.title=e.title,this.description=e.description,this.integrations=e.integrations,this.interfaces=e.interfaces,this.user=e.user,this.conversation=e.conversation,this.message=e.message,this.states=e.states,this.configuration=e.configuration,this.events=e.events,this.recurringEvents=e.recurringEvents,this.actions=e.actions,this.tables=e.tables,this.workflows=e.workflows,this.attributes=e.attributes}name;version;title;description;icon;readme;attributes;integrations;interfaces;user;conversation;message;states;configuration;events;recurringEvents;actions;tables;workflows};O();M();R();O();M();R();O();M();R();O();M();R();var Kl=":";var Sv=t=>{let[e,n]=t.split(Kl);return!e||!n?null:{namespace:e,eventName:n}},kv=t=>`${t.namespace}${Kl}${t.actionName}`,Iv=t=>`${t.namespace}${Kl}${t.eventName}`,Av=(t,e)=>{let n=e[t.namespace]??{name:t.namespace,version:"0.0.0",entities:{},actions:{},events:{},channels:{}},r=n.name,a=n.actions[t.actionName]?.name??t.actionName;return{namespace:r,actionName:a}},Cv=(t,e)=>{let n=e[t.namespace]??{name:t.namespace,version:"0.0.0",entities:{},actions:{},events:{},channels:{}},r=n.name,a=n.events[t.eventName]?.name??t.eventName;return{namespace:r,eventName:a}};var Ov=(t,e)=>new Proxy({},{get:(n,r)=>new Proxy({},{get:(a,s)=>i=>zI({client:t,interfaces:e.interfaces,integrationOrInterfaceName:r,methodName:s,input:i})})}),zI=async({client:t,interfaces:e,integrationOrInterfaceName:n,methodName:r,input:a})=>{let s=Av({namespace:n,actionName:r},e),i=kv(s);return(await t.callAction({type:i,input:a})).output};O();M();R();O();M();R();O();M();R();var Ll=class{constructor(e,n,r){this._client=e;this._stateType=n;this._stateName=r}async get(e){return await this._client.getState({type:this._stateType,name:this._stateName,id:e}).then(n=>n.state.payload)}async set(e,n){await this._client.setState({type:this._stateType,name:this._stateName,id:e,payload:n})}async getOrSet(e,n){return await this._client.getOrSetState({type:this._stateType,name:this._stateName,id:e,payload:n}).then(r=>r.state.payload)}async delete(e){await this._client.setState({type:this._stateType,name:this._stateName,id:e,payload:null})}async patch(e,n){await this._client.patchState({type:this._stateType,name:this._stateName,id:e,payload:n})}},Rv=(t,e)=>new Proxy({},{get:(n,r)=>new Proxy({},{get:(a,s)=>{let i=e.alias!==void 0?`${e.alias}${Va}${s}`:s;return new Ll(t,r,i)}})});O();M();R();var Fl=class{constructor(e){this.props=e;this._actionHandlers=e.actions}_runtimeProps;_actionHandlers;_messageHandlers={};_eventHandlers={};_stateExpiredHandlers={};_hookHandlers={before_incoming_event:{},before_incoming_message:{},before_outgoing_message:{},before_outgoing_call_action:{},before_incoming_call_action:{},after_incoming_event:{},after_incoming_message:{},after_outgoing_message:{},after_outgoing_call_action:{},after_incoming_call_action:{}};_workflowHandlers={started:{},continued:{},timed_out:{}};_registerOrder=0;initialize(e){return this._runtimeProps=e,this}get _runtime(){if(!this._runtimeProps)throw new Error("Plugin not correctly initialized. This is likely because you access your plugin config outside of an handler.");return this._runtimeProps}_getTools(e){let{configuration:n,interfaces:r,alias:a}=this._runtime,s=Ov(e,this._runtime),i=Rv(e,this._runtime),o=mr(e);return{configuration:n,interfaces:r,actions:s,states:i,alias:a,workflows:o}}get actionHandlers(){return new Proxy({},{get:(e,n)=>{n=this._stripAliasPrefix(n);let r=this._actionHandlers[n];if(r)return Qt.setName(a=>r({...a,...this._getTools(a.client)}),r.name)}})}get messageHandlers(){return new Proxy({},{get:(e,n)=>{n=this._stripAliasPrefix(n);let r=this._messageHandlers[n]??[],a=this._messageHandlers["*"]??[];return ye.unique([...r,...a]).sort((i,o)=>i.order-o.order).map(({handler:i})=>Qt.setName(o=>i({...o,...this._getTools(o.client)}),i.name))}})}get eventHandlers(){return new Proxy({},{get:(e,n)=>{n=this._stripAliasPrefix(n);let r=this._eventHandlers[n]??[],a=Object.entries(this._eventHandlers).filter(([o])=>this._eventResolvesTo(o,n)).flatMap(([,o])=>o??[]),s=this._eventHandlers["*"]??[];return ye.unique([...r,...a,...s]).sort((o,l)=>o.order-l.order).map(({handler:o})=>Qt.setName(l=>o({...l,...this._getTools(l.client)}),o.name))}})}get stateExpiredHandlers(){return new Proxy({},{get:(e,n)=>{n=this._stripAliasPrefix(n);let r=this._stateExpiredHandlers[n]??[],a=this._stateExpiredHandlers["*"]??[];return ye.unique([...r,...a]).sort((i,o)=>i.order-o.order).map(({handler:i})=>Qt.setName(o=>i({...o,...this._getTools(o.client)}),i.name))}})}get hookHandlers(){return new Proxy({},{get:(e,n)=>{let r=this._hookHandlers[n];if(r)return new Proxy({},{get:(a,s)=>{s=this._stripAliasPrefix(s);let i=r[s]??[],o=Object.entries(r).filter(([p])=>this._eventResolvesTo(p,s)).flatMap(([,p])=>p??[]),l=r["*"]??[];return ye.unique([...i,...o,...l]).sort((p,y)=>p.order-y.order).map(({handler:p})=>Qt.setName(y=>p({...y,...this._getTools(y.client)}),p.name))}})}})}get workflowHandlers(){return new Proxy({},{get:(e,n)=>{let r=this._workflowHandlers[n];if(r)return new Proxy({},{get:(a,s)=>(r[s]?.sort((o,l)=>o.order-l.order)??[]).map(({handler:o})=>Qt.setName(l=>o({...l,...this._getTools(l.client)}),o.name))})}})}on={message:(e,n)=>{this._messageHandlers[e]=ye.safePush(this._messageHandlers[e],{handler:n,order:this._registerOrder++})},event:(e,n)=>{this._eventHandlers[e]=ye.safePush(this._eventHandlers[e],{handler:n,order:this._registerOrder++})},stateExpired:(e,n)=>{this._stateExpiredHandlers[e]=ye.safePush(this._stateExpiredHandlers[e],{handler:n,order:this._registerOrder++})},beforeIncomingEvent:(e,n)=>{this._hookHandlers.before_incoming_event[e]=ye.safePush(this._hookHandlers.before_incoming_event[e],{handler:n,order:this._registerOrder++})},beforeIncomingMessage:(e,n)=>{this._hookHandlers.before_incoming_message[e]=ye.safePush(this._hookHandlers.before_incoming_message[e],{handler:n,order:this._registerOrder++})},beforeOutgoingMessage:(e,n)=>{this._hookHandlers.before_outgoing_message[e]=ye.safePush(this._hookHandlers.before_outgoing_message[e],{handler:n,order:this._registerOrder++})},beforeOutgoingCallAction:(e,n)=>{this._hookHandlers.before_outgoing_call_action[e]=ye.safePush(this._hookHandlers.before_outgoing_call_action[e],{handler:n,order:this._registerOrder++})},beforeIncomingCallAction:(e,n)=>{this._hookHandlers.before_incoming_call_action[e]=ye.safePush(this._hookHandlers.before_incoming_call_action[e],{handler:n,order:this._registerOrder++})},afterIncomingEvent:(e,n)=>{this._hookHandlers.after_incoming_event[e]=ye.safePush(this._hookHandlers.after_incoming_event[e],{handler:n,order:this._registerOrder++})},afterIncomingMessage:(e,n)=>{this._hookHandlers.after_incoming_message[e]=ye.safePush(this._hookHandlers.after_incoming_message[e],{handler:n,order:this._registerOrder++})},afterOutgoingMessage:(e,n)=>{this._hookHandlers.after_outgoing_message[e]=ye.safePush(this._hookHandlers.after_outgoing_message[e],{handler:n,order:this._registerOrder++})},afterOutgoingCallAction:(e,n)=>{this._hookHandlers.after_outgoing_call_action[e]=ye.safePush(this._hookHandlers.after_outgoing_call_action[e],{handler:n,order:this._registerOrder++})},afterIncomingCallAction:(e,n)=>{this._hookHandlers.after_incoming_call_action[e]=ye.safePush(this._hookHandlers.after_incoming_call_action[e],{handler:n,order:this._registerOrder++})},workflowStart:(e,n)=>{this._workflowHandlers.started[e]=ye.safePush(this._workflowHandlers.started[e],{handler:n,order:this._registerOrder++})},workflowContinue:(e,n)=>{this._workflowHandlers.continued[e]=ye.safePush(this._workflowHandlers.continued[e],{handler:n,order:this._registerOrder++})},workflowTimeout:(e,n)=>{this._workflowHandlers.timed_out[e]=ye.safePush(this._workflowHandlers.timed_out[e],{handler:n,order:this._registerOrder++})}};_eventResolvesTo=(e,n)=>{let r=Sv(e);if(!r)return!1;let a=Cv(r,this._runtime.interfaces);return Iv(a)===n};_stripAliasPrefix=e=>{let{alias:n}=this._runtime;if(!n)return e;let r=`${n}:`;return e.startsWith(r)?e.slice(r.length):e}};O();M();R();O();M();R();O();M();R();O();M();R();O();M();R();O();M();R();export{Cx as BRAND,$l as Bot,Hl as BotDefinition,Kn as BotLogger,en as BotSpecificClient,Vn as DIRTY,Sx as EMPTY_PATH,pe as INVALID,Dl as Integration,Qs as IntegrationDefinition,jn as IntegrationLogger,ni as IntegrationSpecificClient,Zl as InterfaceDefinition,CP as NEVER,pt as OK,It as ParseInputLazyPath,vt as ParseStatus,Fl as Plugin,jl as PluginDefinition,HH as RuntimeError,he as Schema,GA as WELL_KNOWN_ATTRIBUTES,Kr as ZodAny,Lr as ZodArray,Zo as ZodBigInt,jo as ZodBoolean,Ko as ZodBranded,Lo as ZodCatch,Fo as ZodDate,ya as ZodDefault,ug as ZodDiscriminatedUnion,Bn as ZodEffects,ir as ZodEnum,Kt as ZodError,Jp as ZodFirstPartyTypeKind,fg as ZodFunction,zo as ZodIntersection,q as ZodIssueCode,qo as ZodLazy,Go as ZodLiteral,pg as ZodMap,yg as ZodNaN,Vo as ZodNativeEnum,zr as ZodNever,Jo as ZodNull,Qn as ZodNullable,Xo as ZodNumber,er as ZodObject,an as ZodOptional,te as ZodParsedType,Yo as ZodPipeline,ha as ZodPromise,va as ZodReadonly,wg as ZodRecord,Pg as ZodRef,he as ZodSchema,Bg as ZodSet,gt as ZodString,Dg as ZodSymbol,Bn as ZodTransformer,nr as ZodTuple,he as ZodType,Ta as ZodUndefined,Qo as ZodUnion,Dr as ZodUnknown,Zg as ZodVoid,ee as addIssueToContext,Ux as agent,Lx as aimodel,eP as any,iP as array,Vx as bigint,Lg as boolean,_a as botIdHeader,Ay as botUserIdHeader,AP as coerce,ba as configurationHeader,Ry as configurationTypeHeader,Nx as conversation,ma as createZodEnum,Sg as cuid2Regex,Eg as cuidRegex,sg as custom,Fx as datasource,Jx as date,lP as discriminatedUnion,zc as effect,Ag as emailRegex,TP as enum,ue as errorUtil,$x as event,mP as function,Zr as getErrorMap,rn as getParsedType,qx as instanceof,Cy as integrationIdHeader,Kx as intent,uP as intersection,Og as ipv4Regex,Rg as ipv6Regex,To as isAborted,DH as isApiError,Ei as isAsync,_o as isDirty,Ox as isEmojiRegex,jr as isValid,Wx as knowledgebase,zx as late,hP as lazy,vP as literal,Bi as makeIssue,gP as map,qr as mergeObjectSchemas,Hx as message,Iy as messages,Gx as nan,_P as nativeEnum,nP as never,Qx as null,xP as nullable,Kg as number,aP as object,vo as objectUtil,IP as oboolean,kP as onumber,wa as operationHeader,wP as optional,SP as ostring,Ct as parseBody,EP as pipeline,BP as preprocess,me as processCreateParams,bP as promise,Ex as quotelessJson,pP as readonly,fP as record,dP as ref,Fa as serve,yP as set,Qp as setErrorMap,oP as strictObject,jg as string,Xx as symbol,Zx as table,jx as tablerow,zc as transformer,Fv as transforms,cP as tuple,My as typeHeader,kg as ulidRegex,Yx as undefined,sP as union,tP as unknown,Dx as user,be as util,Ig as uuidRegex,Mx as variable,rP as void,Oy as webhookIdHeader,ne as z};
|
|
88
|
+
`)+" "+F[1]:F[0]+j+" "+D.join(", ")+" "+F[1]}xe.types=TI();function B(D){return Array.isArray(D)}xe.isArray=B;function v(D){return typeof D=="boolean"}xe.isBoolean=v;function S(D){return D===null}xe.isNull=S;function E(D){return D==null}xe.isNullOrUndefined=E;function H(D){return typeof D=="number"}xe.isNumber=H;function K(D){return typeof D=="string"}xe.isString=K;function ae(D){return typeof D=="symbol"}xe.isSymbol=ae;function Q(D){return D===void 0}xe.isUndefined=Q;function ge(D){return oe(D)&&Ve(D)==="[object RegExp]"}xe.isRegExp=ge,xe.types.isRegExp=ge;function oe(D){return typeof D=="object"&&D!==null}xe.isObject=oe;function re(D){return oe(D)&&Ve(D)==="[object Date]"}xe.isDate=re,xe.types.isDate=re;function Oe(D){return oe(D)&&(Ve(D)==="[object Error]"||D instanceof Error)}xe.isError=Oe,xe.types.isNativeError=Oe;function ze(D){return typeof D=="function"}xe.isFunction=ze;function tt(D){return D===null||typeof D=="boolean"||typeof D=="number"||typeof D=="string"||typeof D=="symbol"||typeof D>"u"}xe.isPrimitive=tt,xe.isBuffer=_I();function Ve(D){return Object.prototype.toString.call(D)}function Je(D){return D<10?"0"+D.toString(10):D.toString(10)}var mt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Ue(){var D=new Date,j=[Je(D.getHours()),Je(D.getMinutes()),Je(D.getSeconds())].join(":");return[D.getDate(),mt[D.getMonth()],j].join(" ")}xe.log=function(){console.log("%s - %s",Ue(),xe.format.apply(xe,arguments))},xe.inherits=Mt(),xe._extend=function(D,j){if(!j||!oe(j))return D;for(var F=Object.keys(j),de=F.length;de--;)D[F[de]]=j[F[de]];return D};function Pe(D,j){return Object.prototype.hasOwnProperty.call(D,j)}var Se=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;xe.promisify=function(j){if(typeof j!="function")throw new TypeError('The "original" argument must be of type Function');if(Se&&j[Se]){if(F=j[Se],typeof F!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(F,Se,{value:F,enumerable:!1,writable:!1,configurable:!0}),F}function F(){for(var de,Te,A=new Promise(function(J,ie){de=J,Te=ie}),k=[],Z=0;Z<arguments.length;Z++)k.push(arguments[Z]);k.push(function(J,ie){J?Te(J):de(ie)});try{j.apply(this||ai,k)}catch(J){Te(J)}return A}return Object.setPrototypeOf(F,Object.getPrototypeOf(j)),Se&&Object.defineProperty(F,Se,{value:F,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(F,e(j))},xe.promisify.custom=Se;function fe(D,j){if(!D){var F=new Error("Promise was rejected with a falsy value");F.reason=D,D=F}return j(D)}function ve(D){if(typeof D!="function")throw new TypeError('The "original" argument must be of type Function');function j(){for(var F=[],de=0;de<arguments.length;de++)F.push(arguments[de]);var Te=F.pop();if(typeof Te!="function")throw new TypeError("The last argument must be of type Function");var A=this||ai,k=function(){return Te.apply(A,arguments)};D.apply(this||ai,F).then(function(Z){t.nextTick(k.bind(null,null,Z))},function(Z){t.nextTick(fe.bind(null,Z,k))})}return Object.setPrototypeOf(j,Object.getPrototypeOf(D)),Object.defineProperties(j,e(D)),j}return xe.callbackify=ve,xe}var ce=bI();ce.format;ce.deprecate;ce.debuglog;ce.inspect;ce.types;ce.isArray;ce.isBoolean;ce.isNull;ce.isNullOrUndefined;ce.isNumber;ce.isString;ce.isSymbol;ce.isUndefined;ce.isRegExp;ce.isObject;ce.isDate;ce.isError;ce.isFunction;ce.isPrimitive;ce.isBuffer;ce.log;ce.inherits;ce._extend;ce.promisify;ce.callbackify;var R0=ce._extend,M0=ce.callbackify,N0=ce.debuglog,D0=ce.deprecate,H0=ce.format,U0=ce.inherits,$0=ce.inspect,Z0=ce.isArray,j0=ce.isBoolean,K0=ce.isBuffer,L0=ce.isDate,F0=ce.isError,W0=ce.isFunction,z0=ce.isNull,q0=ce.isNullOrUndefined,G0=ce.isNumber,V0=ce.isObject,J0=ce.isPrimitive,X0=ce.isRegExp,Y0=ce.isString,Q0=ce.isSymbol,eR=ce.isUndefined,tR=ce.log,nR=ce.promisify,rR=ce.types,iR=ce.TextEncoder=globalThis.TextEncoder,aR=ce.TextDecoder=globalThis.TextDecoder;var yr=class{defaultOptions;constructor(e){this.defaultOptions=e}info(...e){this._log("info",e)}debug(...e){this._log("debug",e)}warn(...e){this._log("warn",e)}error(...e){this._log("error",e)}_log(e,n){this._getConsoleMethod(e)(this._serializeMessage(n))}_serializeMessage(e){let n=ce.format(...e);return X.env.BP_LOG_FORMAT==="json"?this.getJsonMessage(n):n}getJsonMessage(e){return JSON.stringify({msg:e,options:this.defaultOptions})}_getConsoleMethod(e){switch(e){case"debug":return console.debug;case"warn":return console.warn;case"error":return console.error;default:return console.info}}};var jn=class extends yr{constructor(e){super({visibleToBotOwners:!0,...e})}with(e){return new jn({...this.defaultOptions,...e})}withUserId(e){return this.with({userId:e})}withConversationId(e){return this.with({conversationId:e})}withVisibleToBotOwners(e){return this.with({visibleToBotOwners:e})}forBot(){return this.withVisibleToBotOwners(!0)}getJsonMessage(e){return JSON.stringify({msg:e,visible_to_bot_owner:this.defaultOptions.visibleToBotOwners,options:this.defaultOptions})}};O();M();R();var PI=t=>["traceparent","tracestate","sentry-trace"].reduce((e,n)=>(t[n]&&(e[n]=t[n]),e),{}),wv=t=>async e=>{let n=$h(e.headers),[,r]=(e.headers.traceparent||"").split("-"),a=new xI({botId:n.botId,integrationId:n.integrationId,retry:qa,headers:PI(e.headers)}),s=new ni(a),i=new jn({traceId:r}),o={ctx:n,req:e,client:s,logger:i,instance:t};try{let l;switch(n.operation){case"webhook_received":l=await EI(o);break;case"register":l=await SI(o);break;case"unregister":l=await kI(o);break;case"message_created":l=await CI(o);break;case"action_triggered":l=await OI(o);break;case"ping":l=await BI(o);break;case"create_user":l=await II(o);break;case"create_conversation":l=await AI(o);break;default:throw new Error(`Unknown operation ${n.operation}`)}return l?{...l,status:l.status??200}:{status:200}}catch(l){if(wI(l)){let p=l.type==="Runtime"?l:new bv(l.message,l);return i.forBot().error(p.message),{status:p.code,body:JSON.stringify(p.toJSON())}}console.error(l);let f=new bv("An unexpected error occurred in the integration. Bot owners: Check logs for more informations. Integration owners: throw a RuntimeError to return a custom error message instead.");return i.forBot().error(f.message),{status:f.code,body:JSON.stringify(f.toJSON())}}},BI=async t=>{},EI=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{let{req:s}=Ct(n);return a.webhook({client:t,ctx:e,req:s,logger:r})},SI=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{if(!a.register)return;let{webhookUrl:s}=Ct(n);await a.register({client:t,ctx:e,webhookUrl:s,logger:r})},kI=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{if(!a.unregister)return;let{webhookUrl:s}=Ct(n);await a.unregister({ctx:e,webhookUrl:s,client:t,logger:r})},II=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{if(!a.createUser)return;let{tags:s}=Ct(n);return await a.createUser({ctx:e,client:t,tags:s,logger:r})},AI=async({client:t,ctx:e,req:n,logger:r,instance:a})=>{if(!a.createConversation)return;let{channel:s,tags:i}=Ct(n);return await a.createConversation({ctx:e,client:t,channel:s,tags:i,logger:r})},CI=async({ctx:t,req:e,client:n,logger:r,instance:a})=>{let{conversation:s,user:i,type:o,payload:l,message:f}=Ct(e),p=a.channels[s.channel];if(!p)throw new Error(`Channel ${s.channel} not found`);let y=p.messages[o];if(!y)throw new Error(`Message of type ${o} not found in channel ${s.channel}`);await y({ctx:t,conversation:s,message:f,user:i,type:o,client:n,payload:l,ack:async({tags:h})=>{await n.updateMessage({id:f.id,tags:h})},logger:r})},OI=async({req:t,ctx:e,client:n,logger:r,instance:a})=>{let{input:s,type:i}=Ct(t);if(!i)throw new Error("Missing action type");let o=a.actions[i];if(!o)throw new Error(`Action ${i} not found`);let l=new Ga,p={output:await o({ctx:e,input:s,client:n,type:i,logger:r,metadata:l}),meta:l.toJSON()};return{body:JSON.stringify(p)}};var Dl=class{constructor(e){this.props=e;this.actions=e.actions,this.channels=e.channels,this.register=e.register,this.unregister=e.unregister,this.createUser=e.createUser,this.createConversation=e.createConversation,this.webhook=e.handler}actions;channels;register;unregister;createUser;createConversation;webhook;handler=wv(this);start=e=>Fa(this.handler,e)};O();M();R();O();M();R();O();M();R();O();M();R();O();M();R();var Hl=class{constructor(e){this.props=e;this.integrations=e.integrations,this.plugins=e.plugins,this.user=e.user,this.conversation=e.conversation,this.message=e.message,this.states=e.states,this.configuration=e.configuration,this.events=e.events,this.recurringEvents=e.recurringEvents,this.actions=e.actions,this.tables=e.tables,this.workflows=e.workflows,this.attributes=e.attributes}integrations;plugins;user;conversation;message;states;configuration;events;recurringEvents;actions;tables;workflows;attributes;addIntegration(e,n){let r=this;return r.integrations||(r.integrations={}),r.integrations[e.name]={enabled:n.enabled,...e,configurationType:n.configurationType,configuration:n.configuration,disabledChannels:n.disabledChannels},this}addPlugin(e,n){let r=this;r.plugins||(r.plugins={});let a=n.alias??e.name;return r.plugins[a]={...e,alias:n.alias,configuration:n.configuration,interfaces:n.interfaces},r.user=this._mergeUser(r.user,e.definition.user),r.conversation=this._mergeConversation(r.conversation,e.definition.conversation),r.message=this._mergeMessage(r.message,e.definition.message),r.recurringEvents=this._mergeRecurringEvents(r.recurringEvents,e.definition.recurringEvents),r.tables=this._mergeTables(r.tables,e.definition.tables),r.workflows=this._mergeWorkflows(r.workflows,e.definition.workflows),r.states=this._mergeStates(r.states,this._prefixKeys(e.definition.states,n.alias)),r.events=this._mergeEvents(r.events,this._prefixKeys(e.definition.events,n.alias)),r.actions=this._mergeActions(r.actions,this._prefixKeys(e.definition.actions,n.alias)),this}_mergeUser=(e,n)=>({tags:{...e?.tags,...n?.tags}});_mergeConversation=(e,n)=>({tags:{...e?.tags,...n?.tags}});_mergeMessage=(e,n)=>({tags:{...e?.tags,...n?.tags}});_mergeStates=(e,n)=>({...e,...n});_mergeEvents=(e,n)=>({...e,...n});_mergeRecurringEvents=(e,n)=>({...e,...n});_mergeActions=(e,n)=>({...e,...n});_mergeTables=(e,n)=>({...e,...n});_mergeWorkflows=(e,n)=>({...e,...n});_prefixKeys=(e,n)=>!e||!n?e:Le.mapKeys(e,r=>`${n}${Va}${r}`)};O();M();R();O();M();R();import{isApiError as $I,Client as ZI,RuntimeError as Bv}from"@botpress/client";O();M();R();var Kn=class extends yr{constructor(e){super({...e})}with(e){return new Kn({...this.defaultOptions,...e})}withUserId(e){return this.with({userId:e})}withConversationId(e){return this.with({conversationId:e})}withWorkflowId(e){return this.with({workflowId:e})}withEventId(e){return this.with({eventId:e})}withMessageId(e){return this.with({messageId:e})}};O();M();R();O();M();R();var en=class{constructor(e,n={before:{},after:{}}){this._client=e;this._hooks=n}getConversation=e=>this._run("getConversation",e);listConversations=e=>this._run("listConversations",e);updateConversation=e=>this._run("updateConversation",e);deleteConversation=e=>this._run("deleteConversation",e);listParticipants=e=>this._run("listParticipants",e);addParticipant=e=>this._run("addParticipant",e);getParticipant=e=>this._run("getParticipant",e);removeParticipant=e=>this._run("removeParticipant",e);createEvent=e=>this._run("createEvent",e);getEvent=e=>this._run("getEvent",e);listEvents=e=>this._run("listEvents",e);createMessage=e=>this._run("createMessage",e);getOrCreateMessage=e=>this._run("getOrCreateMessage",e);getMessage=e=>this._run("getMessage",e);updateMessage=e=>this._run("updateMessage",e);listMessages=e=>this._run("listMessages",e);deleteMessage=e=>this._run("deleteMessage",e);getUser=e=>this._run("getUser",e);listUsers=e=>this._run("listUsers",e);updateUser=e=>this._run("updateUser",e);deleteUser=e=>this._run("deleteUser",e);getState=e=>this._run("getState",e);setState=e=>this._run("setState",e);getOrSetState=e=>this._run("getOrSetState",e);patchState=e=>this._run("patchState",e);callAction=e=>this._run("callAction",e);uploadFile=e=>this._run("uploadFile",e);upsertFile=e=>this._run("upsertFile",e);deleteFile=e=>this._run("deleteFile",e);listFiles=e=>this._run("listFiles",e);getFile=e=>this._run("getFile",e);updateFileMetadata=e=>this._run("updateFileMetadata",e);searchFiles=e=>this._run("searchFiles",e);trackAnalytics=e=>this._run("trackAnalytics",e);getTableRow=e=>this._run("getTableRow",e);createTableRows=e=>this._run("createTableRows",e);findTableRows=e=>this._run("findTableRows",e);deleteTableRows=e=>this._run("deleteTableRows",e);updateTableRows=e=>this._run("updateTableRows",e);upsertTableRows=e=>this._run("upsertTableRows",e);createWorkflow=e=>this._run("createWorkflow",e);getWorkflow=e=>this._run("getWorkflow",e);updateWorkflow=e=>this._run("updateWorkflow",e);deleteWorkflow=e=>this._run("deleteWorkflow",e);listWorkflows=e=>this._run("listWorkflows",e);createConversation=e=>this._client.createConversation(e);getOrCreateConversation=e=>this._client.getOrCreateConversation(e);createUser=e=>this._client.createUser(e);getOrCreateUser=e=>this._client.getOrCreateUser(e);_run=async(e,n)=>{let r=this._hooks.before[e];r&&(n=await r(n));let a=await this._client[e](n),s=this._hooks.after[e];return s&&(a=await s(a,n)),a}};O();M();R();O();M();R();var mr=t=>new Proxy({},{get:(e,n)=>({listInstances:{all:r=>fn({workflowName:n,client:t,input:r}),running:r=>fn({workflowName:n,client:t,input:r,statuses:["in_progress"]}),scheduled:r=>fn({workflowName:n,client:t,input:r,statuses:["pending","listening"]}),allFinished:r=>fn({workflowName:n,client:t,input:r,statuses:["completed","cancelled","failed","timedout"]}),cancelled:r=>fn({workflowName:n,client:t,input:r,statuses:["cancelled"]}),failed:r=>fn({workflowName:n,client:t,input:r,statuses:["failed"]}),succeeded:r=>fn({workflowName:n,client:t,input:r,statuses:["completed"]}),timedOut:r=>fn({workflowName:n,client:t,input:r,statuses:["timedout"]})},startNewInstance:async r=>{let{workflow:a}=await t.createWorkflow({name:n,status:"pending",...r});return{workflow:dn({client:t,workflow:a})}}})}),fn=async t=>{let e=await t.client.listWorkflows({name:t.workflowName,statuses:t.statuses,...t.input});return{...e,workflows:e.workflows.map(n=>dn({client:t.client,workflow:n}))}},dn=t=>({...t.workflow,async update(e){let{workflow:n}=await t.client.updateWorkflow({id:t.workflow.id,...e});return{workflow:dn({client:t.client,workflow:n})}},async setFailed({failureReason:e}){let{workflow:n}=await t.client.updateWorkflow({id:t.workflow.id,status:"failed",failureReason:e});return{workflow:dn({client:t.client,workflow:n})}},async setCompleted({output:e}={}){let{workflow:n}=await t.client.updateWorkflow({id:t.workflow.id,status:"completed",output:e});return{workflow:dn({client:t.client,workflow:n})}},async cancel(){let{workflow:e}=await t.client.updateWorkflow({id:t.workflow.id,status:"cancelled"});return{workflow:dn({client:t.client,workflow:e})}}});O();M();R();O();M();R();var RI=ne.enum(["event_received","register","unregister","ping","action_triggered"]),xv=t=>{let e=t[_a],n=t[ba],r=t[My],a=RI.parse(t[wa]);if(!e)throw new Error("Missing bot headers");if(!r)throw new Error("Missing type headers");if(!n)throw new Error("Missing configuration headers");if(!a)throw new Error("Missing operation headers");return{botId:e,operation:a,type:r,configuration:n?JSON.parse(G.from(n,"base64").toString("utf-8")):{}}};O();M();R();var ft={status:200};O();M();R();O();M();R();var Ul=t=>{switch(t){case"workflow_continued":return"continued";case"workflow_started":return"started";case"workflow_timedout":return"timed_out";default:throw new Error(`Unsupported workflow update type: ${t}`)}};var MI=["child_workflow_deleted","child_workflow_finished","workflow_timedout","workflow_started","workflow_continued"],Pv=async(t,e)=>{if(t.ctx.type!=="workflow_update"||!MI.includes(e.payload.type))throw new Error("Unexpected event type");let n={...t,logger:NI(t,e)};if(!e.payload.workflow.name)return n.logger.warn("Received workflow update event without a workflow name. Assuming this workflow was not defined by the bot.",e.payload.workflow),ft;switch(e.payload.type){case"child_workflow_deleted":case"child_workflow_finished":n.logger.info(`Received child workflow event "${e.payload.type}", but child workflows are not yet supported`);break;case"workflow_timedout":case"workflow_started":case"workflow_continued":return await DI(n,e);default:e.payload.type}return ft},NI=(t,e)=>t.logger.with({eventId:e.id,workflowId:e.payload.workflow.id,conversationId:e.payload.conversation?.id,userId:e.payload.user?.id}),DI=async(t,e)=>{let n=Ul(e.payload.type),r=t.self.workflowHandlers[n]?.[e.payload.workflow.name];return!r||r.length===0?(t.logger.warn(`No ${n} handler found for workflow "${e.payload.workflow.name}"`),ft):(await HI(t,e),await UI(t,e),ft)},HI=async(t,e)=>{e.payload.workflow.status==="pending"&&await t.client.updateWorkflow({id:e.payload.workflow.id,status:"in_progress",eventId:e.id})},UI=async(t,e)=>{let n=Ul(e.payload.type),r=t.self.workflowHandlers[n]?.[e.payload.workflow.name];for(let a of r)await a({...t,conversation:e.payload.conversation,user:e.payload.user,workflow:dn({...t,workflow:e.payload.workflow}),workflows:mr(t.client)})};O();M();R();var Ev=t=>async e=>{let n=xv(e.headers),r=new Kn,a=new ZI({botId:n.botId,retry:qa}),s=new en(a,{before:{createMessage:async o=>{let l=t.hookHandlers.before_outgoing_message[o.type]??[];for(let f of l){let p=new en(a);o=(await f({client:p,ctx:n,logger:r.with({conversationId:o.conversationId,userId:o.userId}),data:o,...pn({client:p})}))?.data??o}return o},callAction:async o=>{let l=t.hookHandlers.before_outgoing_call_action[o.type]??[];for(let f of l){let p=new en(a);o=(await f({client:p,ctx:n,logger:r,data:o,...pn({client:p})}))?.data??o}return o}},after:{createMessage:async o=>{let l=t.hookHandlers.after_outgoing_message[o.message.type]??[];for(let f of l){let p=new en(a);o=(await f({client:p,ctx:n,logger:r.with({messageId:o.message.id,conversationId:o.message.conversationId,userId:o.message.userId}),data:o,...pn({client:p})}))?.data??o}return o},callAction:async(o,l)=>{let{type:f}=l,p=t.hookHandlers.after_outgoing_call_action[f]??[];for(let y of p){let g=new en(a);o=(await y({client:g,ctx:n,logger:r,data:{type:f,...o},...pn({client:g})}))?.data??o}return o}}}),i={req:e,ctx:n,logger:r,client:s,self:t};try{switch(n.operation){case"action_triggered":return await WI(i);case"event_received":return await FI(i);case"register":return await KI(i);case"unregister":return await LI(i);case"ping":return await jI(i);default:throw new Error(`Unknown operation ${n.operation}`)}}catch(o){let l=o instanceof Error?o:new Error(String(o));if($I(l)){let p=l.type==="Runtime"?l:new Bv(l.message,l);return r.error(p.message),{status:p.code,body:JSON.stringify(p.toJSON())}}let f=new Bv("An unexpected error occurred in the bot.",l);return r.error(f.message,l),{status:f.code,body:JSON.stringify(f.toJSON())}}},jI=async t=>ft,KI=async t=>ft,LI=async t=>ft,FI=async t=>{let{ctx:e,logger:n,req:r,client:a,self:s}=t,i={client:a,ctx:e,logger:n,...pn({client:a})},o=Ct(r);if(i.logger=i.logger.with({eventId:o.event.id,messageId:o.event.messageId,conversationId:o.event.conversationId,userId:o.event.userId}),e.type==="workflow_update")return await Pv(t,o.event);if(e.type==="message_created"){let h=o.event,w=h.payload.message;i.logger=i.logger.with({messageId:w.id,conversationId:w.conversationId,userId:w.userId});let P=s.hookHandlers.before_incoming_message[w.type]??[];for(let E of P){let H=await E({...i,data:w});if(w=H?.data??w,H?.stop)return ft}let B={...i,user:h.payload.user,conversation:h.payload.conversation,message:w,event:h},v=s.messageHandlers[w.type]??[];for(let E of v)await E(B);let S=s.hookHandlers.after_incoming_message[w.type]??[];for(let E of S){let H=await E({...i,data:w});if(w=H?.data??w,H?.stop)return ft}return ft}if(e.type==="state_expired"){let w=o.event.payload.state,P={...i,state:w},B=s.stateExpiredHandlers["*"]??[];for(let v of B)await v(P);return ft}let l=o.event,f=s.hookHandlers.before_incoming_event[l.type]??[];for(let h of f){let w=await h({...i,data:l});if(l=w?.data??l,w?.stop)return ft}let p={...i,event:l},y=s.eventHandlers[l.type]??[];for(let h of y)await h(p);let g=s.hookHandlers.after_incoming_event[l.type]??[];for(let h of g){let w=await h({...i,data:l});if(l=w?.data??l,w?.stop)return ft}return ft},WI=async({ctx:t,logger:e,req:n,client:r,self:a})=>{let{input:s,type:i}=Ct(n);if(!i)throw new Error("Missing action type");let o=a.hookHandlers.before_incoming_call_action[i]??[];for(let g of o){let h=await g({ctx:t,logger:e,client:r,data:{type:i,input:s},...pn({client:r})});s=h?.data?.input??s,i=h?.data?.type??i}let l=a.actionHandlers[i];if(!l)throw new Error(`Action ${i} not found`);let f=await l({ctx:t,logger:e,input:s,client:r,type:i,...pn({client:r})}),p=a.hookHandlers.after_incoming_call_action[i]??[];for(let g of p){let h=await g({ctx:t,logger:e,client:r,data:{type:i,output:f},...pn({client:r})});i=h?.data?.type??i,f=h?.data?.output??f}return{status:200,body:JSON.stringify({output:f})}},pn=t=>({workflows:mr(t.client)});var $l=class{constructor(e){this.props=e;this._actionHandlers=e.actions,this._plugins=e.plugins}_actionHandlers;_messageHandlers={};_eventHandlers={};_stateExpiredHandlers={};_hookHandlers={before_incoming_event:{},before_incoming_message:{},before_outgoing_message:{},before_outgoing_call_action:{},before_incoming_call_action:{},after_incoming_event:{},after_incoming_message:{},after_outgoing_message:{},after_outgoing_call_action:{},after_incoming_call_action:{}};_workflowHandlers={started:{},continued:{},timed_out:{}};_plugins={};_registerOrder=0;get actionHandlers(){return new Proxy({},{get:(e,n)=>{let r=this._actionHandlers[n];if(r)return r;for(let a of Object.values(this._plugins))if(r=a.actionHandlers[n],r)return r}})}get messageHandlers(){return new Proxy({},{get:(e,n)=>{let r=Object.values(this._plugins).flatMap(o=>o.messageHandlers[n]??[]),a=this._messageHandlers[n]??[],s=this._messageHandlers["*"]??[],i=[...a,...s].sort((o,l)=>o.order-l.order).map(({handler:o})=>o);return ye.unique([...r,...i])}})}get eventHandlers(){return new Proxy({},{get:(e,n)=>{let r=Object.values(this._plugins).flatMap(o=>o.eventHandlers[n]??[]),a=this._eventHandlers[n]??[],s=this._eventHandlers["*"]??[],i=[...a,...s].sort((o,l)=>o.order-l.order).map(({handler:o})=>o);return ye.unique([...r,...i])}})}get stateExpiredHandlers(){return new Proxy({},{get:(e,n)=>{let r=Object.values(this._plugins).flatMap(o=>o.stateExpiredHandlers[n]??[]),a=this._stateExpiredHandlers[n]??[],s=this._stateExpiredHandlers["*"]??[],i=[...a,...s].sort((o,l)=>o.order-l.order).map(({handler:o})=>o);return ye.unique([...r,...i])}})}get hookHandlers(){return new Proxy({},{get:(e,n)=>{if(this._hookHandlers[n])return new Proxy({},{get:(a,s)=>{let i=Object.values(this._plugins).flatMap(y=>y.hookHandlers[n]?.[s]??[]),o=this._hookHandlers[n]??{},l=o[s]??[],f=o["*"]??[],p=[...l,...f].sort((y,g)=>y.order-g.order).map(({handler:y})=>y);return ye.unique([...i,...p])}})}})}get workflowHandlers(){return new Proxy({},{get:(e,n)=>{let r=this._workflowHandlers[n];if(r)return new Proxy({},{get:(a,s)=>{let i=r[s]?.sort((l,f)=>l.order-f.order).map(({handler:l})=>l)??[],o=Object.values(this._plugins).flatMap(l=>l.workflowHandlers[n]?.[s]??[]);return ye.unique([...i,...o])}})}})}on={message:(e,n)=>{this._messageHandlers[e]=ye.safePush(this._messageHandlers[e],{handler:n,order:this._registerOrder++})},event:(e,n)=>{this._eventHandlers[e]=ye.safePush(this._eventHandlers[e],{handler:n,order:this._registerOrder++})},stateExpired:(e,n)=>{this._stateExpiredHandlers[e]=ye.safePush(this._stateExpiredHandlers[e],{handler:n,order:this._registerOrder++})},beforeIncomingEvent:(e,n)=>{this._hookHandlers.before_incoming_event[e]=ye.safePush(this._hookHandlers.before_incoming_event[e],{handler:n,order:this._registerOrder++})},beforeIncomingMessage:(e,n)=>{this._hookHandlers.before_incoming_message[e]=ye.safePush(this._hookHandlers.before_incoming_message[e],{handler:n,order:this._registerOrder++})},beforeOutgoingMessage:(e,n)=>{this._hookHandlers.before_outgoing_message[e]=ye.safePush(this._hookHandlers.before_outgoing_message[e],{handler:n,order:this._registerOrder++})},beforeOutgoingCallAction:(e,n)=>{this._hookHandlers.before_outgoing_call_action[e]=ye.safePush(this._hookHandlers.before_outgoing_call_action[e],{handler:n,order:this._registerOrder++})},beforeIncomingCallAction:(e,n)=>{this._hookHandlers.before_incoming_call_action[e]=ye.safePush(this._hookHandlers.before_incoming_call_action[e],{handler:n,order:this._registerOrder++})},afterIncomingEvent:(e,n)=>{this._hookHandlers.after_incoming_event[e]=ye.safePush(this._hookHandlers.after_incoming_event[e],{handler:n,order:this._registerOrder++})},afterIncomingMessage:(e,n)=>{this._hookHandlers.after_incoming_message[e]=ye.safePush(this._hookHandlers.after_incoming_message[e],{handler:n,order:this._registerOrder++})},afterOutgoingMessage:(e,n)=>{this._hookHandlers.after_outgoing_message[e]=ye.safePush(this._hookHandlers.after_outgoing_message[e],{handler:n,order:this._registerOrder++})},afterOutgoingCallAction:(e,n)=>{this._hookHandlers.after_outgoing_call_action[e]=ye.safePush(this._hookHandlers.after_outgoing_call_action[e],{handler:n,order:this._registerOrder++})},afterIncomingCallAction:(e,n)=>{this._hookHandlers.after_incoming_call_action[e]=ye.safePush(this._hookHandlers.after_incoming_call_action[e],{handler:n,order:this._registerOrder++})},workflowStart:(e,n)=>{this._workflowHandlers.started[e]=ye.safePush(this._workflowHandlers.started[e],{handler:n,order:this._registerOrder++})},workflowContinue:(e,n)=>{this._workflowHandlers.continued[e]=ye.safePush(this._workflowHandlers.continued[e],{handler:n,order:this._registerOrder++})},workflowTimeout:(e,n)=>{this._workflowHandlers.timed_out[e]=ye.safePush(this._workflowHandlers.timed_out[e],{handler:n,order:this._registerOrder++})}};handler=Ev(this);start=e=>Fa(this.handler,e)};O();M();R();O();M();R();O();M();R();O();M();R();O();M();R();var Zl=class{constructor(e){this.props=e;this.name=e.name,this.version=e.version,this.icon=e.icon,this.title=e.title,this.description=e.description,this.readme=e.readme,this.entities=e.entities??{},this.attributes=e.attributes;let n=this._getEntityReference(this.entities),r=e.events===void 0?{}:Le.mapValues(e.events,i=>({...i,schema:i.schema(n)})),a=e.actions===void 0?{}:Le.mapValues(e.actions,i=>({...i,input:{...i.input,schema:i.input.schema(n)},output:{...i.output,schema:i.output.schema(n)}})),s=e.channels===void 0?{}:Le.mapValues(e.channels,i=>({...i,messages:Le.mapValues(i.messages,o=>({...o,schema:o.schema(n)}))}));this.events=r,this.actions=a,this.channels=s}name;version;title;description;icon;readme;attributes;entities;events;actions;channels;_getEntityReference=e=>{let n={};for(let[r,a]of Object.entries(e)){let s=a.schema._def["x-zui"]?.title,i=a.schema._def.description,o=Ty.ref(r);s&&o.title(s),i&&o.describe(i),n[r]=o}return n}};O();M();R();O();M();R();O();M();R();O();M();R();var jl=class{constructor(e){this.props=e;this.name=e.name,this.version=e.version,this.icon=e.icon,this.readme=e.readme,this.title=e.title,this.description=e.description,this.integrations=e.integrations,this.interfaces=e.interfaces,this.user=e.user,this.conversation=e.conversation,this.message=e.message,this.states=e.states,this.configuration=e.configuration,this.events=e.events,this.recurringEvents=e.recurringEvents,this.actions=e.actions,this.tables=e.tables,this.workflows=e.workflows,this.attributes=e.attributes}name;version;title;description;icon;readme;attributes;integrations;interfaces;user;conversation;message;states;configuration;events;recurringEvents;actions;tables;workflows};O();M();R();O();M();R();O();M();R();O();M();R();var Kl=":";var Sv=t=>{let[e,n]=t.split(Kl);return!e||!n?null:{namespace:e,eventName:n}},kv=t=>`${t.namespace}${Kl}${t.actionName}`,Iv=t=>`${t.namespace}${Kl}${t.eventName}`,Av=(t,e)=>{let n=e[t.namespace]??{name:t.namespace,version:"0.0.0",entities:{},actions:{},events:{},channels:{}},r=n.name,a=n.actions[t.actionName]?.name??t.actionName;return{namespace:r,actionName:a}},Cv=(t,e)=>{let n=e[t.namespace]??{name:t.namespace,version:"0.0.0",entities:{},actions:{},events:{},channels:{}},r=n.name,a=n.events[t.eventName]?.name??t.eventName;return{namespace:r,eventName:a}};var Ov=(t,e)=>new Proxy({},{get:(n,r)=>new Proxy({},{get:(a,s)=>i=>zI({client:t,interfaces:e.interfaces,integrationOrInterfaceName:r,methodName:s,input:i})})}),zI=async({client:t,interfaces:e,integrationOrInterfaceName:n,methodName:r,input:a})=>{let s=Av({namespace:n,actionName:r},e),i=kv(s);return(await t.callAction({type:i,input:a})).output};O();M();R();O();M();R();O();M();R();var Ll=class{constructor(e,n,r){this._client=e;this._stateType=n;this._stateName=r}async get(e){return await this._client.getState({type:this._stateType,name:this._stateName,id:e}).then(n=>n.state.payload)}async set(e,n){await this._client.setState({type:this._stateType,name:this._stateName,id:e,payload:n})}async getOrSet(e,n){return await this._client.getOrSetState({type:this._stateType,name:this._stateName,id:e,payload:n}).then(r=>r.state.payload)}async delete(e){await this._client.setState({type:this._stateType,name:this._stateName,id:e,payload:null})}async patch(e,n){await this._client.patchState({type:this._stateType,name:this._stateName,id:e,payload:n})}},Rv=(t,e)=>new Proxy({},{get:(n,r)=>new Proxy({},{get:(a,s)=>{let i=e.alias!==void 0?`${e.alias}${Va}${s}`:s;return new Ll(t,r,i)}})});O();M();R();var Fl=class{constructor(e){this.props=e;this._actionHandlers=e.actions}_runtimeProps;_actionHandlers;_messageHandlers={};_eventHandlers={};_stateExpiredHandlers={};_hookHandlers={before_incoming_event:{},before_incoming_message:{},before_outgoing_message:{},before_outgoing_call_action:{},before_incoming_call_action:{},after_incoming_event:{},after_incoming_message:{},after_outgoing_message:{},after_outgoing_call_action:{},after_incoming_call_action:{}};_workflowHandlers={started:{},continued:{},timed_out:{}};_registerOrder=0;initialize(e){return this._runtimeProps=e,this}get _runtime(){if(!this._runtimeProps)throw new Error("Plugin not correctly initialized. This is likely because you access your plugin config outside of an handler.");return this._runtimeProps}_getTools(e){let{configuration:n,interfaces:r,alias:a}=this._runtime,s=Ov(e,this._runtime),i=Rv(e,this._runtime),o=mr(e);return{configuration:n,interfaces:r,actions:s,states:i,alias:a,workflows:o}}get actionHandlers(){return new Proxy({},{get:(e,n)=>{n=this._stripAliasPrefix(n);let r=this._actionHandlers[n];if(r)return Qt.setName(a=>r({...a,...this._getTools(a.client)}),r.name)}})}get messageHandlers(){return new Proxy({},{get:(e,n)=>{n=this._stripAliasPrefix(n);let r=this._messageHandlers[n]??[],a=this._messageHandlers["*"]??[];return ye.unique([...r,...a]).sort((i,o)=>i.order-o.order).map(({handler:i})=>Qt.setName(o=>i({...o,...this._getTools(o.client)}),i.name))}})}get eventHandlers(){return new Proxy({},{get:(e,n)=>{n=this._stripAliasPrefix(n);let r=this._eventHandlers[n]??[],a=Object.entries(this._eventHandlers).filter(([o])=>this._eventResolvesTo(o,n)).flatMap(([,o])=>o??[]),s=this._eventHandlers["*"]??[];return ye.unique([...r,...a,...s]).sort((o,l)=>o.order-l.order).map(({handler:o})=>Qt.setName(l=>o({...l,...this._getTools(l.client)}),o.name))}})}get stateExpiredHandlers(){return new Proxy({},{get:(e,n)=>{n=this._stripAliasPrefix(n);let r=this._stateExpiredHandlers[n]??[],a=this._stateExpiredHandlers["*"]??[];return ye.unique([...r,...a]).sort((i,o)=>i.order-o.order).map(({handler:i})=>Qt.setName(o=>i({...o,...this._getTools(o.client)}),i.name))}})}get hookHandlers(){return new Proxy({},{get:(e,n)=>{let r=this._hookHandlers[n];if(r)return new Proxy({},{get:(a,s)=>{s=this._stripAliasPrefix(s);let i=r[s]??[],o=Object.entries(r).filter(([p])=>this._eventResolvesTo(p,s)).flatMap(([,p])=>p??[]),l=r["*"]??[];return ye.unique([...i,...o,...l]).sort((p,y)=>p.order-y.order).map(({handler:p})=>Qt.setName(y=>p({...y,...this._getTools(y.client)}),p.name))}})}})}get workflowHandlers(){return new Proxy({},{get:(e,n)=>{let r=this._workflowHandlers[n];if(r)return new Proxy({},{get:(a,s)=>(r[s]?.sort((o,l)=>o.order-l.order)??[]).map(({handler:o})=>Qt.setName(l=>o({...l,...this._getTools(l.client)}),o.name))})}})}on={message:(e,n)=>{this._messageHandlers[e]=ye.safePush(this._messageHandlers[e],{handler:n,order:this._registerOrder++})},event:(e,n)=>{this._eventHandlers[e]=ye.safePush(this._eventHandlers[e],{handler:n,order:this._registerOrder++})},stateExpired:(e,n)=>{this._stateExpiredHandlers[e]=ye.safePush(this._stateExpiredHandlers[e],{handler:n,order:this._registerOrder++})},beforeIncomingEvent:(e,n)=>{this._hookHandlers.before_incoming_event[e]=ye.safePush(this._hookHandlers.before_incoming_event[e],{handler:n,order:this._registerOrder++})},beforeIncomingMessage:(e,n)=>{this._hookHandlers.before_incoming_message[e]=ye.safePush(this._hookHandlers.before_incoming_message[e],{handler:n,order:this._registerOrder++})},beforeOutgoingMessage:(e,n)=>{this._hookHandlers.before_outgoing_message[e]=ye.safePush(this._hookHandlers.before_outgoing_message[e],{handler:n,order:this._registerOrder++})},beforeOutgoingCallAction:(e,n)=>{this._hookHandlers.before_outgoing_call_action[e]=ye.safePush(this._hookHandlers.before_outgoing_call_action[e],{handler:n,order:this._registerOrder++})},beforeIncomingCallAction:(e,n)=>{this._hookHandlers.before_incoming_call_action[e]=ye.safePush(this._hookHandlers.before_incoming_call_action[e],{handler:n,order:this._registerOrder++})},afterIncomingEvent:(e,n)=>{this._hookHandlers.after_incoming_event[e]=ye.safePush(this._hookHandlers.after_incoming_event[e],{handler:n,order:this._registerOrder++})},afterIncomingMessage:(e,n)=>{this._hookHandlers.after_incoming_message[e]=ye.safePush(this._hookHandlers.after_incoming_message[e],{handler:n,order:this._registerOrder++})},afterOutgoingMessage:(e,n)=>{this._hookHandlers.after_outgoing_message[e]=ye.safePush(this._hookHandlers.after_outgoing_message[e],{handler:n,order:this._registerOrder++})},afterOutgoingCallAction:(e,n)=>{this._hookHandlers.after_outgoing_call_action[e]=ye.safePush(this._hookHandlers.after_outgoing_call_action[e],{handler:n,order:this._registerOrder++})},afterIncomingCallAction:(e,n)=>{this._hookHandlers.after_incoming_call_action[e]=ye.safePush(this._hookHandlers.after_incoming_call_action[e],{handler:n,order:this._registerOrder++})},workflowStart:(e,n)=>{this._workflowHandlers.started[e]=ye.safePush(this._workflowHandlers.started[e],{handler:n,order:this._registerOrder++})},workflowContinue:(e,n)=>{this._workflowHandlers.continued[e]=ye.safePush(this._workflowHandlers.continued[e],{handler:n,order:this._registerOrder++})},workflowTimeout:(e,n)=>{this._workflowHandlers.timed_out[e]=ye.safePush(this._workflowHandlers.timed_out[e],{handler:n,order:this._registerOrder++})}};_eventResolvesTo=(e,n)=>{let r=Sv(e);if(!r)return!1;let a=Cv(r,this._runtime.interfaces);return Iv(a)===n};_stripAliasPrefix=e=>{let{alias:n}=this._runtime;if(!n)return e;let r=`${n}:`;return e.startsWith(r)?e.slice(r.length):e}};O();M();R();O();M();R();O();M();R();O();M();R();O();M();R();O();M();R();export{Cx as BRAND,$l as Bot,Hl as BotDefinition,Kn as BotLogger,en as BotSpecificClient,Vn as DIRTY,Sx as EMPTY_PATH,pe as INVALID,Dl as Integration,Qs as IntegrationDefinition,jn as IntegrationLogger,ni as IntegrationSpecificClient,Zl as InterfaceDefinition,CP as NEVER,pt as OK,It as ParseInputLazyPath,vt as ParseStatus,Fl as Plugin,jl as PluginDefinition,HH as RuntimeError,he as Schema,GA as WELL_KNOWN_ATTRIBUTES,Kr as ZodAny,Lr as ZodArray,Zo as ZodBigInt,jo as ZodBoolean,Ko as ZodBranded,Lo as ZodCatch,Fo as ZodDate,ya as ZodDefault,ug as ZodDiscriminatedUnion,Bn as ZodEffects,ir as ZodEnum,Kt as ZodError,Jp as ZodFirstPartyTypeKind,fg as ZodFunction,zo as ZodIntersection,q as ZodIssueCode,qo as ZodLazy,Go as ZodLiteral,pg as ZodMap,yg as ZodNaN,Vo as ZodNativeEnum,zr as ZodNever,Jo as ZodNull,Qn as ZodNullable,Xo as ZodNumber,er as ZodObject,an as ZodOptional,te as ZodParsedType,Yo as ZodPipeline,ha as ZodPromise,va as ZodReadonly,wg as ZodRecord,Pg as ZodRef,he as ZodSchema,Bg as ZodSet,gt as ZodString,Dg as ZodSymbol,Bn as ZodTransformer,nr as ZodTuple,he as ZodType,Ta as ZodUndefined,Qo as ZodUnion,Dr as ZodUnknown,Zg as ZodVoid,ee as addIssueToContext,Ux as agent,Lx as aimodel,eP as any,iP as array,Vx as bigint,Lg as boolean,_a as botIdHeader,Ay as botUserIdHeader,AP as coerce,ba as configurationHeader,Ry as configurationTypeHeader,Nx as conversation,ma as createZodEnum,Sg as cuid2Regex,Eg as cuidRegex,sg as custom,Fx as datasource,Jx as date,lP as discriminatedUnion,zc as effect,Ag as emailRegex,TP as enum,ue as errorUtil,$x as event,mP as function,Zr as getErrorMap,rn as getParsedType,qx as instanceof,Cy as integrationIdHeader,Kx as intent,uP as intersection,Og as ipv4Regex,Rg as ipv6Regex,To as isAborted,DH as isApiError,Ei as isAsync,_o as isDirty,Ox as isEmojiRegex,jr as isValid,Wx as knowledgebase,zx as late,hP as lazy,vP as literal,Bi as makeIssue,gP as map,qr as mergeObjectSchemas,Hx as message,Iy as messages,Gx as nan,_P as nativeEnum,nP as never,Qx as null,xP as nullable,Kg as number,aP as object,vo as objectUtil,IP as oboolean,kP as onumber,wa as operationHeader,wP as optional,SP as ostring,Ct as parseBody,EP as pipeline,BP as preprocess,me as processCreateParams,bP as promise,Ex as quotelessJson,pP as readonly,fP as record,dP as ref,Fa as serve,yP as set,Qp as setErrorMap,oP as strictObject,jg as string,Xx as symbol,Zx as table,jx as tablerow,zc as transformer,Fv as transforms,cP as tuple,My as typeHeader,kg as ulidRegex,Yx as undefined,sP as union,tP as unknown,Dx as user,be as util,Ig as uuidRegex,Mx as variable,rP as void,Oy as webhookIdHeader,ne as z};
|
|
89
89
|
/*! Bundled license information:
|
|
90
90
|
|
|
91
91
|
@jspm/core/nodelibs/browser/chunk-DtuTasat.js:
|