@novu/framework
Version:
The Code-First Notifications Workflow SDK.
2 lines (1 loc) • 4.88 kB
JavaScript
;var m=Object.create;var c=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var s=Object.getPrototypeOf,t=Object.prototype.hasOwnProperty;var y=(e,_)=>{for(var T in _)c(e,T,{get:_[T],enumerable:!0})},V=(e,_,T,R)=>{if(_&&typeof _=="object"||typeof _=="function")for(let A of v(_))!t.call(e,A)&&A!==T&&c(e,A,{get:()=>_[A],enumerable:!(R=L(_,A))||R.enumerable});return e};var r=(e,_,T)=>(T=e!=null?m(s(e)):{},V(_||!e||!e.__esModule?c(T,"default",{value:e,enumerable:!0}):T,e)),g=e=>V(c({},"__esModule",{value:!0}),e);var W={};y(W,{transformSchema:()=>f,validateData:()=>h});module.exports=g(W);var U=r(require("ajv"),1),P=r(require("ajv-formats"),1);var S=e=>typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e));var i=(a=>(a.BRIDGE_ERROR="BridgeError",a.EXECUTION_EVENT_CONTROL_INVALID_ERROR="ExecutionEventControlInvalidError",a.EXECUTION_EVENT_PAYLOAD_INVALID_ERROR="ExecutionEventPayloadInvalidError",a.EXECUTION_PROVIDER_OUTPUT_INVALID_ERROR="ExecutionProviderOutputInvalidError",a.EXECUTION_STATE_CONTROL_INVALID_ERROR="ExecutionStateControlInvalidError",a.EXECUTION_STATE_CORRUPT_ERROR="ExecutionStateCorruptError",a.EXECUTION_STATE_OUTPUT_INVALID_ERROR="ExecutionStateOutputInvalidError",a.EXECUTION_STATE_RESULT_INVALID_ERROR="ExecutionStateResultInvalidError",a.INVALID_ACTION_ERROR="InvalidActionError",a.METHOD_NOT_ALLOWED_ERROR="MethodNotAllowedError",a.MISSING_DEPENDENCY_ERROR="MissingDependencyError",a.MISSING_SECRET_KEY_ERROR="MissingSecretKeyError",a.PROVIDER_EXECUTION_FAILED_ERROR="ProviderExecutionFailedError",a.PROVIDER_NOT_FOUND_ERROR="ProviderNotFoundError",a.SIGNATURE_EXPIRED_ERROR="SignatureExpiredError",a.SIGNATURE_INVALID_ERROR="SignatureInvalidError",a.SIGNATURE_MISMATCH_ERROR="SignatureMismatchError",a.SIGNATURE_NOT_FOUND_ERROR="SignatureNotFoundError",a.SIGNATURE_VERSION_INVALID_ERROR="SignatureVersionInvalidError",a.SIGNING_KEY_NOT_FOUND_ERROR="SigningKeyNotFoundError",a.STEP_ALREADY_EXISTS_ERROR="StepAlreadyExistsError",a.STEP_CONTROL_COMPILATION_FAILED_ERROR="StepControlCompilationFailedError",a.STEP_EXECUTION_FAILED_ERROR="StepExecutionFailedError",a.STEP_NOT_FOUND_ERROR="StepNotFoundError",a.WORKFLOW_ALREADY_EXISTS_ERROR="WorkflowAlreadyExistsError",a.WORKFLOW_NOT_FOUND_ERROR="WorkflowNotFoundError",a.WORKFLOW_PAYLOAD_INVALID_ERROR="WorkflowPayloadInvalidError",a))(i||{});var G=e=>{var T,R;if(typeof e!="object"||e===null)return!1;let _=Object.getPrototypeOf(e);return(R=(T=_==null?void 0:_.constructor)==null?void 0:T.name.endsWith("Error"))!=null?R:!1},Y=class extends Error{};var N=class extends Y{constructor(_,{cause:T}={}){var R;G(T)?(super(`${_}: ${T.message}`),this.data={stack:(R=T.stack)!=null?R:_}):(super(`${_}${T?`: ${JSON.stringify(T,null,2)}`:""}`),this.data={stack:_})}};var o=class extends N{constructor(T,R){let A=R.length===1?"it":"them";super(`Tried to use a ${T} in @novu/framework without ${R.join(", ")} installed. Please install ${A} by running \`npm install ${R.join(" ")}\`.`);this.statusCode=500;this.code="MissingDependencyError"}};var I=async(e,_)=>{let T=new Set;if((await Promise.allSettled(e.map(A=>A.import))).forEach((A,M)=>{let O=e[M];A.status==="fulfilled"&&O.exports.every(F=>A.value[F]!==void 0)||T.add(O.name)}),T.size>0)throw new o(_,Array.from(T))};var E=class{constructor(){this.requiredImports=[];this.ajv=new U.default({useDefaults:!0,removeAdditional:"failing",strict:!1}),(0,P.default)(this.ajv),this.compiledSchemas=new Map}async canHandle(_){let T=_.type==="object"||!!_.anyOf||!!_.allOf||!!_.oneOf;return T&&await I(this.requiredImports,"JSON schema"),T}async validate(_,T){let R=this.compiledSchemas.get(T);R||(R=this.ajv.compile(T),this.compiledSchemas.set(T,R));let A=S(_);return R(A)?{success:!0,data:A}:{success:!1,errors:R.errors.map(O=>({path:O.instancePath,message:O.message}))}}async transformToJsonSchema(_){return _}};var l=class{constructor(){this.requiredImports=[{name:"zod",import:import("zod"),exports:["ZodType"]},{name:"zod-to-json-schema",import:import("zod-to-json-schema"),exports:["zodToJsonSchema"]}]}async canHandle(_){let T=_.safeParseAsync!==void 0;return T&&await I(this.requiredImports,"Zod schema"),T}async validate(_,T){let R=await T.safeParseAsync(_);return R.success?{success:!0,data:R.data}:{success:!1,errors:R.error.errors.map(A=>({path:`/${A.path.join("/")}`,message:A.message}))}}async transformToJsonSchema(_){let{zodToJsonSchema:T}=await import("zod-to-json-schema");return T(_)}};var D=new l,d=new E,h=async(e,_)=>{if(await D.canHandle(e))return D.validate(_,e);if(await d.canHandle(e))return d.validate(_,e);throw new Error("Invalid schema")},f=async e=>{if(await D.canHandle(e))return D.transformToJsonSchema(e);if(await d.canHandle(e))return d.transformToJsonSchema(e);throw new Error("Invalid schema")};0&&(module.exports={transformSchema,validateData});