@stackone/connect-sdk 1.49.1 → 1.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -624,6 +624,7 @@ declare class ConnectSDKError extends Error {
624
624
  interface ConfigOperation {
625
625
  id: string;
626
626
  description: string;
627
+ [key: string]: unknown;
627
628
  }
628
629
  interface ConfigAuthentication {
629
630
  production?: {
@@ -657,13 +658,14 @@ type ConfigMeta = {
657
658
  name: string;
658
659
  description: string;
659
660
  schema_type: string;
661
+ operation_details?: ConfigOperation;
660
662
  authentication: AuthenticationConfig[];
661
663
  }[];
662
664
  };
663
665
  //#endregion
664
666
  //#region src/meta/index.d.ts
665
- declare const buildActionsMetaFromConfig: (config: Config) => ConfigMeta;
666
- declare const getActionsMetaFromConfigs: (configs: Config[]) => ConfigMeta[];
667
+ declare const buildActionsMetaFromConfig: (config: Config, include?: string[]) => ConfigMeta;
668
+ declare const getActionsMetaFromConfigs: (configs: Config[], include?: string[]) => ConfigMeta[];
667
669
  //#endregion
668
670
  //#region src/runners/constants.d.ts
669
671
  declare const REFRESH_TOKEN_OPERATION_PATH = "stackone://internal//refresh_token";
package/dist/index.d.ts CHANGED
@@ -624,6 +624,7 @@ declare class ConnectSDKError extends Error {
624
624
  interface ConfigOperation {
625
625
  id: string;
626
626
  description: string;
627
+ [key: string]: unknown;
627
628
  }
628
629
  interface ConfigAuthentication {
629
630
  production?: {
@@ -657,13 +658,14 @@ type ConfigMeta = {
657
658
  name: string;
658
659
  description: string;
659
660
  schema_type: string;
661
+ operation_details?: ConfigOperation;
660
662
  authentication: AuthenticationConfig[];
661
663
  }[];
662
664
  };
663
665
  //#endregion
664
666
  //#region src/meta/index.d.ts
665
- declare const buildActionsMetaFromConfig: (config: Config) => ConfigMeta;
666
- declare const getActionsMetaFromConfigs: (configs: Config[]) => ConfigMeta[];
667
+ declare const buildActionsMetaFromConfig: (config: Config, include?: string[]) => ConfigMeta;
668
+ declare const getActionsMetaFromConfigs: (configs: Config[], include?: string[]) => ConfigMeta[];
667
669
  //#endregion
668
670
  //#region src/runners/constants.d.ts
669
671
  declare const REFRESH_TOKEN_OPERATION_PATH = "stackone://internal//refresh_token";
package/dist/index.js CHANGED
@@ -27,4 +27,4 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
27
27
  ...iss,
28
28
  path: iss.path ? [${D(e)}, ...iss.path] : [${D(e)}]
29
29
  })));`),t.write(`newResult[${D(e)}] = ${n}.value`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},i,a=pe,o=!w.jitless,s=me,c=o&&s.value,l=t.catchall,u;e._zod.parse=(s,d)=>{u??=n.value;let f=s.value;if(!a(f))return s.issues.push({expected:`object`,code:`invalid_type`,input:f,inst:e}),s;let p=[];if(o&&c&&d?.async===!1&&d.jitless!==!0)i||=r(t.shape),s=i(s,d);else{s.value={};let e=u.shape;for(let t of u.keys){let n=e[t],r=n._zod.run({value:f[t],issues:[]},d),i=n._zod.optin===`optional`&&n._zod.optout===`optional`;r instanceof Promise?p.push(r.then(e=>i?gn(e,s,t,f):z(e,s,t))):i?gn(r,s,t,f):z(r,s,t)}}if(!l)return p.length?Promise.all(p).then(()=>s):s;let m=[],h=u.keySet,g=l._zod,_=g.def.type;for(let e of Object.keys(f)){if(h.has(e))continue;if(_===`never`){m.push(e);continue}let t=g.run({value:f[e],issues:[]},d);t instanceof Promise?p.push(t.then(t=>z(t,s,e))):z(t,s,e)}return m.length&&s.issues.push({code:`unrecognized_keys`,keys:m,input:f,inst:e}),p.length?Promise.all(p).then(()=>s):s}});function vn(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;return t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>P(e,r,T())))}),t}const yn=x(`$ZodUnion`,(e,t)=>{L.init(e,t),E(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),E(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),E(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),E(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>le(e.source)).join(`|`)})$`)}}),e._zod.parse=(n,r)=>{let i=!1,a=[];for(let e of t.options){let t=e._zod.run({value:n.value,issues:[]},r);if(t instanceof Promise)a.push(t),i=!0;else{if(t.issues.length===0)return t;a.push(t)}}return i?Promise.all(a).then(t=>vn(t,n,e,r)):vn(a,n,e,r)}}),bn=x(`$ZodDiscriminatedUnion`,(e,t)=>{yn.init(e,t);let n=e._zod.parse;E(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=se(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!pe(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,input:o,path:[t.discriminator],inst:e}),i)}}),xn=x(`$ZodIntersection`,(e,t)=>{L.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n),o=i instanceof Promise||a instanceof Promise;return o?Promise.all([i,a]).then(([t,n])=>Cn(e,t,n)):Cn(e,i,a)}});function Sn(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(O(e)&&O(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Sn(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Sn(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Cn(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),M(e))return e;let r=Sn(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const wn=x(`$ZodRecord`,(e,t)=>{L.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!O(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[];if(t.keyType._zod.values){let o=t.keyType._zod.values;n.value={};for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...N(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...N(e,o.issues)),n.value[e]=o.value)}let s;for(let e in i)o.has(e)||(s??=[],s.push(e));s&&s.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:s})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){n.issues.push({origin:`record`,code:`invalid_key`,issues:s.issues.map(e=>P(e,r,T())),input:o,path:[o],inst:e}),n.value[s.value]=s.value;continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...N(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...N(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Tn=x(`$ZodEnum`,(e,t)=>{L.init(e,t);let n=ae(t.entries);e._zod.values=new Set(n),e._zod.pattern=RegExp(`^(${n.filter(e=>he.has(typeof e)).map(e=>typeof e==`string`?k(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,r)=>{let i=t.value;return e._zod.values.has(i)||t.issues.push({code:`invalid_value`,values:n,input:i,inst:e}),t}}),En=x(`$ZodLiteral`,(e,t)=>{L.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?k(e):e?e.toString():String(e)).join(`|`)})$`),e._zod.parse=(n,r)=>{let i=n.value;return e._zod.values.has(i)||n.issues.push({code:`invalid_value`,values:t.values,input:i,inst:e}),n}}),Dn=x(`$ZodTransform`,(e,t)=>{L.init(e,t),e._zod.parse=(e,n)=>{let r=t.transform(e.value,e);if(n.async){let t=r instanceof Promise?r:Promise.resolve(r);return t.then(t=>(e.value=t,e))}if(r instanceof Promise)throw new C;return e.value=r,e}}),On=x(`$ZodOptional`,(e,t)=>{L.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,E(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),E(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${le(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>t.innerType._zod.optin===`optional`?t.innerType._zod.run(e,n):e.value===void 0?e:t.innerType._zod.run(e,n)}),kn=x(`$ZodNullable`,(e,t)=>{L.init(e,t),E(e._zod,`optin`,()=>t.innerType._zod.optin),E(e._zod,`optout`,()=>t.innerType._zod.optout),E(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${le(e.source)}|null)$`):void 0}),E(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),An=x(`$ZodDefault`,(e,t)=>{L.init(e,t),e._zod.optin=`optional`,E(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>jn(e,t)):jn(r,t)}});function jn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Mn=x(`$ZodPrefault`,(e,t)=>{L.init(e,t),e._zod.optin=`optional`,E(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Nn=x(`$ZodNonOptional`,(e,t)=>{L.init(e,t),E(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Pn(t,e)):Pn(i,e)}});function Pn(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}const Fn=x(`$ZodCatch`,(e,t)=>{L.init(e,t),e._zod.optin=`optional`,E(e._zod,`optout`,()=>t.innerType._zod.optout),E(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>P(e,n,T()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>P(e,n,T()))},input:e.value}),e.issues=[]),e)}}),In=x(`$ZodPipe`,(e,t)=>{L.init(e,t),E(e._zod,`values`,()=>t.in._zod.values),E(e._zod,`optin`,()=>t.in._zod.optin),E(e._zod,`optout`,()=>t.out._zod.optout),e._zod.parse=(e,n)=>{let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Ln(e,t,n)):Ln(r,t,n)}});function Ln(e,t,n){return M(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}const Rn=x(`$ZodReadonly`,(e,t)=>{L.init(e,t),E(e._zod,`propValues`,()=>t.innerType._zod.propValues),E(e._zod,`values`,()=>t.innerType._zod.values),E(e._zod,`optin`,()=>t.innerType._zod.optin),E(e._zod,`optout`,()=>t.innerType._zod.optout),e._zod.parse=(e,n)=>{let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(zn):zn(r)}});function zn(e){return e.value=Object.freeze(e.value),e}const Bn=x(`$ZodLazy`,(e,t)=>{L.init(e,t),E(e._zod,`innerType`,()=>t.getter()),E(e._zod,`pattern`,()=>e._zod.innerType._zod.pattern),E(e._zod,`propValues`,()=>e._zod.innerType._zod.propValues),E(e._zod,`optin`,()=>e._zod.innerType._zod.optin),E(e._zod,`optout`,()=>e._zod.innerType._zod.optout),e._zod.parse=(t,n)=>{let r=e._zod.innerType;return r._zod.run(t,n)}}),Vn=x(`$ZodCustom`,(e,t)=>{I.init(e,t),L.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Hn(t,n,r,e));Hn(i,n,r,e)}});function Hn(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(F(e))}}const Un=Symbol(`ZodOutput`),Wn=Symbol(`ZodInput`);var Gn=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==`object`&&`id`in n){if(this._idmap.has(n.id))throw Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Kn(){return new Gn}const B=Kn();function qn(e,t){return new e({type:`string`,...j(t)})}function Jn(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...j(t)})}function Yn(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...j(t)})}function Xn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...j(t)})}function Zn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...j(t)})}function Qn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...j(t)})}function $n(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...j(t)})}function er(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...j(t)})}function tr(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...j(t)})}function nr(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...j(t)})}function rr(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...j(t)})}function ir(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...j(t)})}function ar(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...j(t)})}function or(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...j(t)})}function sr(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...j(t)})}function cr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...j(t)})}function lr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...j(t)})}function ur(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...j(t)})}function dr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...j(t)})}function fr(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...j(t)})}function pr(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...j(t)})}function mr(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...j(t)})}function hr(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...j(t)})}function gr(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...j(t)})}function _r(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...j(t)})}function vr(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...j(t)})}function yr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...j(t)})}function br(e,t){return new e({type:`number`,checks:[],...j(t)})}function xr(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...j(t)})}function Sr(e,t){return new e({type:`boolean`,...j(t)})}function Cr(e){return new e({type:`any`})}function wr(e){return new e({type:`unknown`})}function Tr(e,t){return new e({type:`never`,...j(t)})}function Er(e,t){return new _t({check:`less_than`,...j(t),value:e,inclusive:!1})}function Dr(e,t){return new _t({check:`less_than`,...j(t),value:e,inclusive:!0})}function Or(e,t){return new vt({check:`greater_than`,...j(t),value:e,inclusive:!1})}function kr(e,t){return new vt({check:`greater_than`,...j(t),value:e,inclusive:!0})}function Ar(e,t){return new yt({check:`multiple_of`,...j(t),value:e})}function jr(e,t){let n=new xt({check:`max_length`,...j(t),maximum:e});return n}function V(e,t){return new St({check:`min_length`,...j(t),minimum:e})}function Mr(e,t){return new Ct({check:`length_equals`,...j(t),length:e})}function Nr(e,t){return new Tt({check:`string_format`,format:`regex`,...j(t),pattern:e})}function Pr(e){return new Et({check:`string_format`,format:`lowercase`,...j(e)})}function Fr(e){return new Dt({check:`string_format`,format:`uppercase`,...j(e)})}function Ir(e,t){return new Ot({check:`string_format`,format:`includes`,...j(t),includes:e})}function Lr(e,t){return new kt({check:`string_format`,format:`starts_with`,...j(t),prefix:e})}function Rr(e,t){return new At({check:`string_format`,format:`ends_with`,...j(t),suffix:e})}function H(e){return new jt({check:`overwrite`,tx:e})}function zr(e){return H(t=>t.normalize(e))}function Br(){return H(e=>e.trim())}function Vr(){return H(e=>e.toLowerCase())}function Hr(){return H(e=>e.toUpperCase())}function Ur(e,t,n){return new e({type:`array`,element:t,...j(n)})}function Wr(e,t,n){let r=new e({type:`custom`,check:`custom`,fn:t,...j(n)});return r}const Gr=x(`ZodISODateTime`,(e,t)=>{Kt.init(e,t),K.init(e,t)});function Kr(e){return gr(Gr,e)}const qr=x(`ZodISODate`,(e,t)=>{qt.init(e,t),K.init(e,t)});function Jr(e){return _r(qr,e)}const Yr=x(`ZodISOTime`,(e,t)=>{Jt.init(e,t),K.init(e,t)});function Xr(e){return vr(Yr,e)}const Zr=x(`ZodISODuration`,(e,t)=>{Yt.init(e,t),K.init(e,t)});function Qr(e){return yr(Zr,e)}const $r=(e,t)=>{De.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Ae(e,t)},flatten:{value:t=>ke(e,t)},addIssue:{value:t=>e.issues.push(t)},addIssues:{value:t=>e.issues.push(...t)},isEmpty:{get(){return e.issues.length===0}}})},ei=x(`ZodError`,$r),U=x(`ZodError`,$r,{Parent:Error}),ti=je(U),ni=Ne(U),ri=Fe(U),ii=Le(U),W=x(`ZodType`,(e,t)=>(L.init(e,t),e.def=t,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),e.clone=(t,n)=>A(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>ti(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>ri(e,t,n),e.parseAsync=async(t,n)=>ni(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ii(e,t,n),e.spa=e.safeParseAsync,e.refine=(t,n)=>e.check(ga(t,n)),e.superRefine=t=>e.check(_a(t)),e.overwrite=t=>e.check(H(t)),e.optional=()=>Zi(e),e.nullable=()=>$i(e),e.nullish=()=>Zi($i(e)),e.nonoptional=t=>aa(e,t),e.array=()=>Ii(e),e.or=t=>zi([e,t]),e.and=t=>Ui(e,t),e.transform=t=>la(e,Yi(t)),e.default=t=>ta(e,t),e.prefault=t=>ra(e,t),e.catch=t=>sa(e,t),e.pipe=t=>la(e,t),e.readonly=()=>da(e),e.describe=t=>{let n=e.clone();return B.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return B.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return B.get(e);let n=e.clone();return B.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),ai=x(`_ZodString`,(e,t)=>{Pt.init(e,t),W.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(Nr(...t)),e.includes=(...t)=>e.check(Ir(...t)),e.startsWith=(...t)=>e.check(Lr(...t)),e.endsWith=(...t)=>e.check(Rr(...t)),e.min=(...t)=>e.check(V(...t)),e.max=(...t)=>e.check(jr(...t)),e.length=(...t)=>e.check(Mr(...t)),e.nonempty=(...t)=>e.check(V(1,...t)),e.lowercase=t=>e.check(Pr(t)),e.uppercase=t=>e.check(Fr(t)),e.trim=()=>e.check(Br()),e.normalize=(...t)=>e.check(zr(...t)),e.toLowerCase=()=>e.check(Vr()),e.toUpperCase=()=>e.check(Hr())}),oi=x(`ZodString`,(e,t)=>{Pt.init(e,t),ai.init(e,t),e.email=t=>e.check(Jn(si,t)),e.url=t=>e.check(er(ui,t)),e.jwt=t=>e.check(hr(Ti,t)),e.emoji=t=>e.check(tr(di,t)),e.guid=t=>e.check(Yn(ci,t)),e.uuid=t=>e.check(Xn(li,t)),e.uuidv4=t=>e.check(Zn(li,t)),e.uuidv6=t=>e.check(Qn(li,t)),e.uuidv7=t=>e.check($n(li,t)),e.nanoid=t=>e.check(nr(fi,t)),e.guid=t=>e.check(Yn(ci,t)),e.cuid=t=>e.check(rr(pi,t)),e.cuid2=t=>e.check(ir(mi,t)),e.ulid=t=>e.check(ar(hi,t)),e.base64=t=>e.check(fr(Si,t)),e.base64url=t=>e.check(pr(Ci,t)),e.xid=t=>e.check(or(gi,t)),e.ksuid=t=>e.check(sr(_i,t)),e.ipv4=t=>e.check(cr(vi,t)),e.ipv6=t=>e.check(lr(yi,t)),e.cidrv4=t=>e.check(ur(bi,t)),e.cidrv6=t=>e.check(dr(xi,t)),e.e164=t=>e.check(mr(wi,t)),e.datetime=t=>e.check(Kr(t)),e.date=t=>e.check(Jr(t)),e.time=t=>e.check(Xr(t)),e.duration=t=>e.check(Qr(t))});function G(e){return qn(oi,e)}const K=x(`ZodStringFormat`,(e,t)=>{R.init(e,t),ai.init(e,t)}),si=x(`ZodEmail`,(e,t)=>{Lt.init(e,t),K.init(e,t)}),ci=x(`ZodGUID`,(e,t)=>{Ft.init(e,t),K.init(e,t)}),li=x(`ZodUUID`,(e,t)=>{It.init(e,t),K.init(e,t)}),ui=x(`ZodURL`,(e,t)=>{Rt.init(e,t),K.init(e,t)}),di=x(`ZodEmoji`,(e,t)=>{zt.init(e,t),K.init(e,t)}),fi=x(`ZodNanoID`,(e,t)=>{Bt.init(e,t),K.init(e,t)}),pi=x(`ZodCUID`,(e,t)=>{Vt.init(e,t),K.init(e,t)}),mi=x(`ZodCUID2`,(e,t)=>{Ht.init(e,t),K.init(e,t)}),hi=x(`ZodULID`,(e,t)=>{Ut.init(e,t),K.init(e,t)}),gi=x(`ZodXID`,(e,t)=>{Wt.init(e,t),K.init(e,t)}),_i=x(`ZodKSUID`,(e,t)=>{Gt.init(e,t),K.init(e,t)}),vi=x(`ZodIPv4`,(e,t)=>{Xt.init(e,t),K.init(e,t)}),yi=x(`ZodIPv6`,(e,t)=>{Zt.init(e,t),K.init(e,t)}),bi=x(`ZodCIDRv4`,(e,t)=>{Qt.init(e,t),K.init(e,t)}),xi=x(`ZodCIDRv6`,(e,t)=>{$t.init(e,t),K.init(e,t)}),Si=x(`ZodBase64`,(e,t)=>{tn.init(e,t),K.init(e,t)}),Ci=x(`ZodBase64URL`,(e,t)=>{rn.init(e,t),K.init(e,t)}),wi=x(`ZodE164`,(e,t)=>{an.init(e,t),K.init(e,t)}),Ti=x(`ZodJWT`,(e,t)=>{sn.init(e,t),K.init(e,t)}),Ei=x(`ZodNumber`,(e,t)=>{cn.init(e,t),W.init(e,t),e.gt=(t,n)=>e.check(Or(t,n)),e.gte=(t,n)=>e.check(kr(t,n)),e.min=(t,n)=>e.check(kr(t,n)),e.lt=(t,n)=>e.check(Er(t,n)),e.lte=(t,n)=>e.check(Dr(t,n)),e.max=(t,n)=>e.check(Dr(t,n)),e.int=t=>e.check(Oi(t)),e.safe=t=>e.check(Oi(t)),e.positive=t=>e.check(Or(0,t)),e.nonnegative=t=>e.check(kr(0,t)),e.negative=t=>e.check(Er(0,t)),e.nonpositive=t=>e.check(Dr(0,t)),e.multipleOf=(t,n)=>e.check(Ar(t,n)),e.step=(t,n)=>e.check(Ar(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function q(e){return br(Ei,e)}const Di=x(`ZodNumberFormat`,(e,t)=>{ln.init(e,t),Ei.init(e,t)});function Oi(e){return xr(Di,e)}const ki=x(`ZodBoolean`,(e,t)=>{un.init(e,t),W.init(e,t)});function J(e){return Sr(ki,e)}const Ai=x(`ZodAny`,(e,t)=>{dn.init(e,t),W.init(e,t)});function ji(){return Cr(Ai)}const Mi=x(`ZodUnknown`,(e,t)=>{fn.init(e,t),W.init(e,t)});function Y(){return wr(Mi)}const Ni=x(`ZodNever`,(e,t)=>{pn.init(e,t),W.init(e,t)});function Pi(e){return Tr(Ni,e)}const Fi=x(`ZodArray`,(e,t)=>{hn.init(e,t),W.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(V(t,n)),e.nonempty=t=>e.check(V(1,t)),e.max=(t,n)=>e.check(jr(t,n)),e.length=(t,n)=>e.check(Mr(t,n)),e.unwrap=()=>e.element});function Ii(e,t){return Ur(Fi,e,t)}const Li=x(`ZodObject`,(e,t)=>{_n.init(e,t),W.init(e,t),E(e,`shape`,()=>t.shape),e.keyof=()=>Z(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Y()}),e.loose=()=>e.clone({...e._zod.def,catchall:Y()}),e.strict=()=>e.clone({...e._zod.def,catchall:Pi()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>be(e,t),e.merge=t=>xe(e,t),e.pick=t=>ve(e,t),e.omit=t=>ye(e,t),e.partial=(...t)=>Se(Xi,e,t[0]),e.required=(...t)=>Ce(ia,e,t[0])});function X(e,t){let n={type:`object`,get shape(){return de(this,`shape`,{...e}),this.shape},...j(t)};return new Li(n)}const Ri=x(`ZodUnion`,(e,t)=>{yn.init(e,t),W.init(e,t),e.options=t.options});function zi(e,t){return new Ri({type:`union`,options:e,...j(t)})}const Bi=x(`ZodDiscriminatedUnion`,(e,t)=>{Ri.init(e,t),bn.init(e,t)});function Vi(e,t,n){return new Bi({type:`union`,options:t,discriminator:e,...j(n)})}const Hi=x(`ZodIntersection`,(e,t)=>{xn.init(e,t),W.init(e,t)});function Ui(e,t){return new Hi({type:`intersection`,left:e,right:t})}const Wi=x(`ZodRecord`,(e,t)=>{wn.init(e,t),W.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function Gi(e,t,n){return new Wi({type:`record`,keyType:e,valueType:t,...j(n)})}const Ki=x(`ZodEnum`,(e,t)=>{Tn.init(e,t),W.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Ki({...t,checks:[],...j(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Ki({...t,checks:[],...j(r),entries:i})}});function Z(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Ki({type:`enum`,entries:n,...j(t)})}const qi=x(`ZodLiteral`,(e,t)=>{En.init(e,t),W.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,`value`,{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Q(e,t){return new qi({type:`literal`,values:Array.isArray(e)?e:[e],...j(t)})}const Ji=x(`ZodTransform`,(e,t)=>{Dn.init(e,t),W.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=r=>{if(typeof r==`string`)n.issues.push(F(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,t.continue??=!0,n.issues.push(F(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Yi(e){return new Ji({type:`transform`,transform:e})}const Xi=x(`ZodOptional`,(e,t)=>{On.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Zi(e){return new Xi({type:`optional`,innerType:e})}const Qi=x(`ZodNullable`,(e,t)=>{kn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType});function $i(e){return new Qi({type:`nullable`,innerType:e})}const ea=x(`ZodDefault`,(e,t)=>{An.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ta(e,t){return new ea({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():t}})}const na=x(`ZodPrefault`,(e,t)=>{Mn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ra(e,t){return new na({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():t}})}const ia=x(`ZodNonOptional`,(e,t)=>{Nn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType});function aa(e,t){return new ia({type:`nonoptional`,innerType:e,...j(t)})}const oa=x(`ZodCatch`,(e,t)=>{Fn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function sa(e,t){return new oa({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const ca=x(`ZodPipe`,(e,t)=>{In.init(e,t),W.init(e,t),e.in=t.in,e.out=t.out});function la(e,t){return new ca({type:`pipe`,in:e,out:t})}const ua=x(`ZodReadonly`,(e,t)=>{Rn.init(e,t),W.init(e,t)});function da(e){return new ua({type:`readonly`,innerType:e})}const fa=x(`ZodLazy`,(e,t)=>{Bn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.getter()});function pa(e){return new fa({type:`lazy`,getter:e})}const ma=x(`ZodCustom`,(e,t)=>{Vn.init(e,t),W.init(e,t)});function ha(e){let t=new I({check:`custom`});return t._zod.check=e,t}function ga(e,t={}){return Wr(ma,e,t)}function _a(e){let t=ha(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(F(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(F(r))}},e(n.value,n)));return t}const va=25,ya=e=>{switch(e){case`list`:return{statusCode:200,description:`The list of records was retrieved.`};case`get`:return{statusCode:200,description:`The record with the given identifier was retrieved.`};case`create`:return{statusCode:201,description:`The record was created successfully.`};case`update`:return{statusCode:200,description:`The record was updated successfully.`};case`delete`:return{statusCode:204,description:`The record was deleted successfully.`};case`custom`:return{statusCode:200,description:`The operation was executed successfully.`};case`refresh_token`:return{statusCode:200,description:`The refresh token operation was executed successfully.`};case`unknown`:return{statusCode:200};default:throw Error(`Unknown operation type: ${e}`)}},ba=()=>{let e={400:{statusCode:400,description:`Invalid request.`},401:{statusCode:401,description:`Unauthorized access.`},403:{statusCode:403,description:`Forbidden.`},404:{statusCode:404,description:`Resource not found.`},500:{statusCode:500,description:`Server error while executing the request.`}};return e},xa={key:G(),label:G(),required:J().optional().default(!1),secret:J().optional().default(!1),readOnly:J().optional().default(!1),placeholder:G().optional(),description:G().optional(),tooltip:G().optional()},Sa=Vi(`type`,[X({...xa,type:Z([`text`,`password`])}),X({...xa,type:Q(`select`),options:X({value:G(),label:G()}).array()})]),Ca=X({targetFieldKey:G(),alias:G().optional(),expression:G().optional(),values:Y().optional(),type:Z([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:J().default(!1),custom:J().default(!1),hidden:J().default(!1),enumMapper:X({matcher:Z([`country_alpha2code_by_alpha2code`,`country_alpha3code_by_alpha3code`,`country_code_by_country_code`,`country_name_by_country_name`,`country_name_by_alpha3code`,`country_name_by_alpha2code`,`country_name_by_country_code`,`country_alpha3code_by_alpha2code`,`country_alpha3code_by_country_name`,`country_alpha3code_by_country_code`,`country_alpha2code_by_alpha3code`,`country_alpha2code_by_country_name`,`country_alpha2code_by_country_code`,`country_code_by_alpha2code`,`country_code_by_alpha3code`,`country_code_by_country_name`,`country_subdivisions_by_alpha2code`,`country_subdivision_code_by_subdivision_name`,`country_alpha2code_by_citizenship`,`country_subdivision_name_by_subdivision_code`]).or(X({matchExpression:G(),value:G()}).array())}).optional(),properties:pa(()=>Ca).array().optional()}),wa=X({operationId:G(),categories:G().array(),operationType:Z([`list`,`get`,`create`,`update`,`delete`,`custom`,`refresh_token`,`unknown`]),schema:G().optional(),entrypointUrl:G().optional(),entrypointHttpMethod:G().optional(),description:G(),responses:X({statusCode:q(),description:G()}).array().optional(),inputs:X({name:G(),type:G(),required:J(),description:G(),in:G()}).array().optional(),cursor:X({enabled:J(),pageSize:q()}).optional(),compositeIdentifiers:X({enabled:J(),version:q().optional(),fields:X({targetFieldKey:G(),remote:G().optional(),components:G().array()}).array().optional()}).optional(),scheduledJobs:X({enabled:J(),type:Z([`data_sync`]),schedule:G(),description:G(),requestParams:X({fields:G().array().optional(),expand:G().array().optional(),filter:Gi(G(),G()).optional()}).optional(),syncFilter:X({name:Z([`updated_after`,`created_after`]),initialLoopbackPeriod:G(),incrementalLoopbackPeriod:G()}).optional()}).array().optional(),fieldConfigs:Ca.array().optional(),steps:X({stepId:G(),description:G(),stepFunction:X({functionName:G(),version:G().optional(),parameters:Gi(G(),Y())}),condition:G().optional(),ignoreError:J().optional()}).array(),result:G().or(Gi(G(),Y())).optional()}),Ta=X({schedule:G().optional(),operation:wa.extend({operationType:Q(`refresh_token`)})}),Ea=X({mainRatelimit:q(),subPools:Ii(X({subPoolKey:G(),urlPattern:G(),rateLimit:q()})).optional(),mappedRateLimitErrors:Ii(X({errorStatus:q(),errorMessage:G(),errorMessagePath:G().optional(),retryAfterPath:G().optional(),retryAfterUnit:zi([Q(`seconds`),Q(`milliseconds`),Q(`date`)]).optional(),retryAfterValue:q().optional()})).optional()}),Da=X({mainMaxConcurrency:q(),subPools:Ii(X({subPoolKey:G(),urlPattern:G(),maxConcurrency:q()})).optional()}),Oa=X({StackOne:G(),info:X({title:G(),version:G(),key:G(),assets:X({icon:G()}),description:G().optional()}),baseUrl:G(),authentication:Gi(G(),X({type:G(),label:G(),authorization:f.AUTHENTICATION_SCHEMA,environments:X({key:G(),name:G()}).array(),support:X({link:G(),description:G().optional()}),configFields:Sa.array().optional(),setupFields:Sa.array().optional(),refreshAuthentication:Ta.optional(),testOperations:X({operation:G().or(wa),condition:G().optional(),required:J().default(!0)}).array().optional()})).array().optional(),operations:wa.array().optional(),rateLimit:Ea.optional(),concurrency:Da.optional()});function ka(e){try{let t=(0,m.parse)(e),n=Oa.parse(t),r={title:n.info.title,version:n.info.version,key:n.info.key,assets:n.info.assets,description:n.info.description,rateLimit:n.rateLimit,concurrency:n.concurrency},i=Na(n),a={baseUrl:n.baseUrl,authentication:Aa(i)},o=za(n,a);return r.operations=o,ja(i,o,a),r.authentication=i,(0,c.notMissing)(o)&&(r.categories=Ma(Object.values(o))),r}catch(e){throw Error(`Error parsing YAML file: ${e.message}`)}}const Aa=e=>{let t={};for(let[n,r]of Object.entries(e))if(r&&typeof r==`object`){let{setupFields:e,configFields:i,support:a,refreshAuthentication:o,testOperations:s,...c}=r;t[n]=Aa(c)}else t[n]=r;return t},ja=(e,t,n)=>{if(!(!e||!t))for(let r of Object.values(e))for(let e of Object.values(r)){let r=e.testOperations;e.testOperations=r?.map(e=>{if((0,c.notMissing)(e.operation))if(typeof e.operation==`string`){let n=e.operation,r=Object.values(t).find(e=>e.id===n);if(r)return{...e,operation:r}}else{let t=Ba(e.operation,n);return{...e,operation:t}}return e})}},Ma=e=>{let t=e.reduce((e,t)=>{for(let n of t.categories)e.add(n);return e},new Set);return Array.from(t)},Na=e=>{let t={};for(let n of e.authentication??[]){let[e]=Object.keys(n),r=n[e].environments.reduce((t,r)=>{let{key:i,name:a}=r,{environments:o,refreshAuthentication:s,testOperations:l,...u}=n[e],d=(0,c.notMissing)(s)?{schedule:s.schedule,operation:Ba(s.operation)}:void 0;return t[i]={...u,refreshAuthentication:d,envKey:i,envName:a,testOperations:l},t},{});t[e]=r}return t},Pa=e=>e.entrypointUrl&&e.entrypointHttpMethod?`${e.entrypointHttpMethod.toUpperCase()} ${e.entrypointUrl}`:void 0,Fa=e=>e.operationType===`list`?`GET /${e.schema}`:`GET /${e.schema}/:id`,Ia=e=>{if(e.operationType!==`refresh_token`)return e.entrypointHttpMethod??`get`},La=e=>{if(!(e.operationType===`refresh_token`||(0,c.isMissing)(e.schema)))return e.operationType===`list`?`/${e.schema}`:`/${e.schema}/:id`},Ra=e=>{let t={success:ya(e.operationType),errors:ba()},n=e.responses?.reduce((e,t)=>{let n=(0,p.isSuccessStatusCode)(t.statusCode);return n?e.success={statusCode:t.statusCode,description:t.description}:e.errors[t.statusCode]={statusCode:t.statusCode,description:t.description},e},t);return n??t},za=(e,t)=>{let n=e.operations?.reduce((e,n)=>{let r=Pa(n),i=Fa(n);return e[r??i]=Ba(n,t),e},{});return n},Ba=(e,t)=>{let n=La(e),r=Ra(e),i=Wa(e),a=e.inputs||[];i.enabled&&a?.push({type:`string`,name:`page_size`,in:`query`,required:!1,description:`Number of items to return per page`});let o=Ia(e);return{id:e.operationId,categories:e.categories,description:e.description,operationType:e.operationType,entrypointUrl:e.entrypointUrl??n,entrypointHttpMethod:o,responses:r,cursor:i,compositeIdentifiers:Ga(e),scheduledJobs:Ka(e),inputs:a,steps:e.steps.reduce((n,r)=>(n[r.stepId]={id:r.stepId,description:r.description,condition:r.condition,ignoreError:r.ignoreError,stepFunction:{functionName:r.stepFunction.functionName,version:r.stepFunction.version,params:{...r.stepFunction.parameters,...qa(r.stepFunction.functionName,t,r.stepFunction.parameters),...r.stepFunction.functionName===`map_fields`||r.stepFunction.functionName===`typecast`?{fields:r.stepFunction.parameters.fields??e.fieldConfigs}:{}}}},n),{}),result:e.result}},Va=(e,t)=>{if(!e.inputs)return{};let n=Ua(e.inputs),r=n.parse(t);return{...r.headers??{},...r.query??{},...r.path??{},...r.body??{}}},Ha=e=>{let t={};return e.forEach(e=>{let n;switch(e.type.toLowerCase()){case`string`:n=G();break;case`number`:n=q();break;case`boolean`:n=J();break;default:n=ji()}t[e.name]=e.required?n:n.optional()}),X(t)},Ua=e=>{let t=e.filter(e=>e.in===`path`),n=e.filter(e=>e.in===`query`),r=e.filter(e=>e.in===`body`),i=e.filter(e=>e.in===`headers`);return X({path:Ha(t).optional(),query:Ha(n).optional(),body:Ha(r).optional(),headers:Ha(i).optional()})},Wa=e=>{let t=e.operationType===`list`,n=e.cursor??{enabled:t,pageSize:va};return{enabled:n.enabled&&t,pageSize:n.pageSize}},Ga=e=>{if(e.operationType===`refresh_token`)return{enabled:!1};if((0,c.isMissing)(e.compositeIdentifiers)){let t=e.fieldConfigs?.find(e=>e.targetFieldKey===`id`),n=(0,c.notMissing)(t)?[{targetFieldKey:t.targetFieldKey,remote:`id`,components:[{name:t.targetFieldKey,alias:t.alias}]}]:void 0;return{enabled:!0,version:f.COMPOSITE_ID_LATEST_VERSION,fields:n}}let t=[];for(let n of e.compositeIdentifiers?.fields??[]){let r=n.components.map(t=>{let n=e.fieldConfigs?.find(e=>e.targetFieldKey===t);return{name:t,alias:n?.alias}});t.push({targetFieldKey:n.targetFieldKey,remote:n.remote,components:r})}return{enabled:e.compositeIdentifiers.enabled,version:e.compositeIdentifiers.version,fields:t.length>0?t:void 0}},Ka=e=>{if(!(0,c.isMissing)(e.scheduledJobs))return e.scheduledJobs},qa=(e,t,n={})=>{if(e===`request`||e===`paginated_request`){let e=[{receivedStatus:500,targetStatus:502}],r=n.customErrors&&Array.isArray(n.customErrors)?n.customErrors:[],i=[...r,...e];return{...t,customErrors:i}}else return{}},Ja=(e,t,n)=>{if(e.authentication?.[t]?.[n]?.authorization.type!==`oauth2`)return;let r=e.authentication?.[t]?.[n]?.refreshAuthentication?.operation;if((0,c.notMissing)(r))return{operation:r,params:{}}},Ya=(e,t,n)=>{if(e.authentication?.[t]?.[n]?.authorization.type!==`oauth2`)return!1;let r=Ja(e,t,n);return(0,c.notMissing)(r)},Xa=(e,t,n)=>{let r=e.authentication?.[t]?.[n]?.authorization;if(r?.type===`oauth2`)return r?.tokenExpiresIn},Za=(e,t,n)=>{let r=e.authentication?.[t]?.[n]?.authorization;if(r?.type===`oauth2`)return r?.tokenRefreshExpiresIn},Qa=e=>{try{let t=[],n=(0,m.parse)(e),r=Oa.safeParse(n);return r.success||r.error.issues.forEach(n=>{let r=$a(n.path,e);t.push({line:r,message:n.message,field:n.path.join(`.`)})}),t.length>0?{success:!1,errors:t}:{success:!0}}catch(e){let t=e.message,n=t.match(/at line (\d+)/),r=n?parseInt(n[1],10):1;return{success:!1,errors:[{line:r,message:`The YAML connector file is not valid. Please check the syntax and structure.`,field:void 0}]}}},$a=(e,t)=>{let n=t.split(`
30
- `),r=0,i=-1,a=0;for(let t=0;t<n.length;t++){let o=n[t],s=o.match(/^(\s*)/)?.[1]?.length||0,l=o.replace(`- `,``).trim();if(l.startsWith(`#`)||l===``||s<=i)continue;let u=(0,c.notMissing)(e[r])?`${String(e[r])}`:``;if((0,c.isMissing)(u))return a+1;if(isNaN(Number(u))){if(l.startsWith(`${u}:`)){if(r===e.length-1)return t+1;i=s,a=t,r++}}else{let e=parseInt(u,10),i=-1;for(let o=t;o<n.length;o++){let s=n[o],c=s.trim();if(c.startsWith(`-`)&&i++,i===e){r++,a=t,t--;break}else t++}}}return a+1};var $=class e extends Error{errorType;context;constructor(t,n,r){super(r),this.name=`ConnectSDKError`,this.errorType=t,this.context=n,Error.captureStackTrace&&Error.captureStackTrace(this,e)}toString(){return`${this.name} [${this.errorType}]: ${this.message}`}},eo=class extends ${constructor(e,t){super(`CONNECTOR_PARSE_ERROR`,e,t),this.name=`ConnectorParseError`}},to=class extends ${constructor(e,t){super(`MISSING_OPERATION_ERROR`,e,t),this.name=`MissingOperationError`}},no=class extends ${constructor(e,t){super(`INVALID_OPERATION_INPUTS_ERROR`,e,t),this.name=`InvalidOperationInputsError`}},ro=class extends ${constructor(e,t){super(`INVALID_CURSOR_ERROR`,e,t),this.name=`InvalidCursorError`}};const io=e=>{let t=Object.keys(e.authentication??{}).map(t=>({type:`custom`,label:e.authentication?.[t].production?.label||`Custom`,key:t})),n=Object.values(e?.operations??{}).map(e=>({id:e.id,description:e.description.replace(/\b\w/g,e=>e.toUpperCase()),name:e.description.replace(/\b\w/g,e=>e.toUpperCase()),schema_type:`native`,authentication:t}));return{version:e.version,name:e.description,key:e.key,icon:e.assets?.icon,description:e.description,authentication:t,actions:n}},ao=e=>e.map(io),oo=`stackone://internal//`,so=`${oo}refresh_token`,co=async({block:e,stepFunctionName:t,params:n,buildStepFunction:r=f.StepFunctionsFactory.build})=>{let i=r({functionName:t}).fn,a=await i({block:e,params:n}),o=t===f.StepFunctionName.MAP_FIELDS?{[f.StepFunctionName.MAP_FIELDS.toString()]:{output:{data:a.block.result},errors:a.errors,successful:a.successful}}:{};return{...a.block,steps:{...a?.block?.steps??{},...o}}},lo=({category:e,connectorKey:t,connectorVersion:n,authConfigKey:r,environment:i=`production`,operation:a,accountSecureId:o,projectSecureId:s})=>({projectSecureId:s,accountSecureId:o,connectorKey:t,connectorVersion:n,category:e,service:``,resource:``,schema:a?.schema?.key,operationType:a?.operationType??`unknown`,authenticationType:r,environment:i}),uo=e=>{let t=e.operation?.compositeIdentifiers,n={...e.inputs??{}};if(!t?.enabled||(0,c.isMissing)(n))return e;let r=t.fields?.reduce((e,t)=>(t.components.forEach(t=>{t.alias&&(e[t.name]=t.alias)}),e),{}),i={version:t.version??f.COMPOSITE_ID_LATEST_VERSION,aliases:r};return fo(n,i,e.logger),{...e,inputs:n}},fo=(e,t,n)=>{for(let r in e){let i=e[r];if(typeof i==`string`||Array.isArray(i)&&i.every(e=>typeof e==`string`))vo(i,r,e,t,n);else if(Array.isArray(i))for(let e of i)fo(e,t,n);else typeof i==`object`&&i&&fo(i,t,n)}},po=(e,t,n,r)=>{let i=[],a=[];for(let o of e)try{let e=(0,f.decodeCompositeId)(o,n);i.push(e)}catch(e){r?.debug({message:`Received ${t} with invalid composite ID, assuming it is not a composite ID`,category:`processCompositeId`,context:{key:t,inputElement:o,compositeIdentifierConfig:n,error:e}}),a.push(o)}return{compositeIdComponents:i,nonCompositeIds:a}},mo=(e,t,n,r)=>{let i=n.filter(e=>Object.keys(e).length>1);i.length>0&&(e.decoded_ids={...e.decoded_ids??{},[t]:r?i:i[0]})},ho=e=>{let t=Object.values(e);return t.length===1&&(typeof t[0]==`string`||typeof t[0]==`number`)},go=(e,t,n,r,i)=>{n.every(ho)&&(i?e[t]=[...n.map(e=>Object.values(e)[0]),...r]:n.length>0&&(e[t]=Object.values(n[0])[0]))},_o=(e,t,n)=>{e instanceof f.CoreError&&e.type===`COMPOSITE_ID_MISSING_HEADER_ERROR`?n?.debug({message:`Received ${t} with no composite ID header, assuming it is not a composite ID`}):n?.warning({message:`Error processing composite ID for ${t}, ignoring it`,error:e})},vo=(e,t,n,r,i)=>{try{let a=Array.isArray(e),o=a?e:[e];if(o.length===0)return;let{compositeIdComponents:s,nonCompositeIds:c}=po(o,t,r,i);mo(n,t,s,a),go(n,t,s,c,a)}catch(e){_o(e,t,i)}},yo=`remote_`,bo=e=>{let t=e.operation?.compositeIdentifiers;if(!t?.enabled)return e;let n=`data`,r=e.outputs?.[n];if((0,c.isMissing)(r))return e;let i=Array.isArray(r)?r.map(e=>xo(e,t)):xo(r,t);return{...e,outputs:{...e.outputs??{},[n]:i}}},xo=(e,t)=>{let n=So(e,t),r=Ao(n);return{...e,...(0,c.isObject)(r)?r:{}}},So=(e,t)=>{let n=t.version??f.COMPOSITE_ID_LATEST_VERSION,r={};return t.fields?.forEach(t=>{let i={},a=[];t.components.forEach(t=>{t.alias&&(i[t.name]=t.alias),a.push({key:t.name,value:e[t.name]})});let o=a.length===1?a[0]:{identifiers:a},s={version:n,aliases:Object.keys(i).length>0?i:void 0},c=(0,f.encodeCompositeId)(o,s);r[t.targetFieldKey]=c,t.remote&&(r[`${yo}${t.remote}`]=e[t.remote])}),{...e,...r}},Co=e=>e===`id`||/.+_id(s)?$/.test(e),wo=e=>Array.isArray(e)&&e.every(e=>(0,c.isString)(e)&&e.length>0),To=(e,t)=>(0,f.isCompositeId)(e)||t.startsWith(yo),Eo=(e,t)=>{try{return(0,f.encodeCompositeId)({key:e,value:t},{version:f.COMPOSITE_ID_LATEST_VERSION})}catch{return t}},Do=(e,t,n)=>{let r=t.map(t=>(0,c.isString)(t)&&t.length>0&&!(0,f.isCompositeId)(t)?Eo(e,t):t);n[e]=r,n[`${yo}${e}`]=t},Oo=(e,t,n)=>{if(To(t,e))return;let r=(0,f.encodeCompositeId)({key:e,value:t},{version:f.COMPOSITE_ID_LATEST_VERSION});n[e]=r,n[`remote_${e}`]=t},ko=(e,t,n)=>{wo(t)?Do(e,t,n):(0,c.isString)(t)&&t.length>0&&Oo(e,t,n)},Ao=e=>{if(Array.isArray(e))return e.map(e=>Ao(e));if(!(0,c.isObject)(e))return e;let t={...e};for(let[n,r]of Object.entries(e))((0,c.isObject)(r)||Array.isArray(r)&&r.length>0&&(0,c.isObject)(r[0]))&&(t[n]=Ao(r)),Co(n)&&ko(n,r,t);return t},jo=(e,t)=>{let n=Number(e.inputs?.page_size),r=(0,c.notMissing)(e.inputs?.page_size)&&(0,c.isNumber)(n)&&!Number.isNaN(n)?n:e.operation?.cursor?.pageSize??t;return r},Mo=(e,t,n,r)=>{let i=(0,c.isMissing)(e)?void 0:e.data,a=Object.keys(n).length+1,o=(0,f.isCursorEmpty)({cursor:r,ignoreStepIndex:a});if(!(0,c.isObject)(e)||(0,c.isMissing)(i)||(i?.length??0)<=t)return{result:e,next:(0,c.notMissing)(r)&&!o?(0,f.minifyCursor)(r):null};let s=r?.remote?.[a]?.pageNumber??1,l=(s-1)*t,u=l+t,d=i.slice(l,u),p=i.length>u||!o,m=(0,f.updateCursor)({cursor:r,stepIndex:a,pageNumber:s+1});return{result:{...e,data:d},next:p?(0,f.minifyCursor)(m):null}},No=async({block:e,buildStepFunction:t=f.StepFunctionsFactory.build,virtualPaginateResultFn:n=Mo,encodeResultCompositeIds:r=bo,decodeInputCompositeIds:i=uo})=>{let a=i(e),o=await zo({block:a,buildStepFunction:t,virtualPaginateResultFn:n});return r(o)},Po=(e,t)=>e.condition?!(0,h.safeEvaluate)(e.condition,t):!1,Fo=(e,t,n)=>{let r=e.stepFunction;return t.operation?.cursor.enabled?{...r.params??{},cursor:{token:t.nextCursor?.remote?.[n]?.providerPageCursor,position:t.nextCursor?.remote?.[n]?.position}}:r.params??{}},Io=(e,t,n,r,i)=>{let a=Vo({block:e,stepId:t,successful:!1,functionOutput:n}),o=r.ignoreError??!1;return o||(i.hasFatalError=!0,i.errorStatusCode??=n.output?.statusCode??500),a},Lo=async(e,t,n,r,i,a)=>{let o=n[e],s=o.stepFunction,c=a.buildStepFunction({functionName:s.functionName,version:s.version,validateSchemas:!0}).fn;if(Po(o,r))return Vo({block:r,stepId:e,successful:!0,skipped:!0,message:`Step skipped due to condition not met.`});if(i.hasFatalError)return Vo({block:r,stepId:e,successful:!1,skipped:!0,message:`Step skipped due to previous error.`});let l=Fo(o,r,t),u=await c({block:r,params:l});if(u.successful===!1)return Io(r,e,u,o,i);let d=r.operation?.cursor.enabled?(0,f.updateCursor)({cursor:r.nextCursor,stepIndex:t,providerPageCursor:u.output?.next,position:u.output?.position}):void 0;return Vo({block:{...u.block,nextCursor:d},stepId:e,functionOutput:u})},Ro=(e,t,n,r,i)=>{let a=!n.hasFatalError,o=a?e.operation?.responses.success.statusCode??200:n.errorStatusCode??500,s=(0,c.notMissing)(i)&&(0,c.isObject)(i.result)?{next:i.next,...i.result}:r;return{...t,outputs:s,response:{successful:a,statusCode:o,message:a?void 0:e.operation?.responses?.errors?.[o]?.description??p.HttpErrorMessages?.[o]??`Error while processing the request`}}},zo=async({block:e,buildStepFunction:t=f.StepFunctionsFactory.build,virtualPaginateResultFn:n=Mo})=>{let r=e.operation?.steps||{},i={...e},a=Object.keys(r),o=jo(e,va),s={hasFatalError:!1,errorStatusCode:null},c={block:e,buildStepFunction:t,virtualPaginateResultFn:n};for(let[e,t]of a.entries())i=await Lo(t,e,r,i,s,c);let l=e.operation?.result?Bo(e.operation.result,i):void 0,u=e.operation?.cursor.enabled?n(l,o,r,i.nextCursor):void 0;return Ro(e,i,s,l,u)},Bo=(e,t)=>(0,c.isObject)(e)?(0,h.safeEvaluateRecord)(e,t):(0,h.safeEvaluate)(e,t),Vo=({block:e,stepId:t,successful:n,functionOutput:r,skipped:i,message:a})=>({...e,steps:{...e.steps,[t]:{successful:n??r?.successful??!1,errors:r?.errors,output:r?.output,skipped:i,message:a}}}),Ho=async({operationId:e,account:t,connector:n,queryParams:r={},body:i,headers:a,logger:o,getHttpClient:s,parseConnector:l=ka,parseOperationInputsFn:u=Va,createBlockContextFn:d=lo,createBlockFn:f=g,runStepOperationFn:p=No})=>{let m=t.authConfigKey,h=t.environment??`production`,_=t.secureId,ee=t.projectSecureId,te=t.credentials,v=d({category:`action`,connectorKey:t.providerKey,connectorVersion:t.providerVersion,authConfigKey:m,environment:h,accountSecureId:_,projectSecureId:ee}),ne;try{ne=(0,c.isString)(n)?l(n):n}catch{throw new eo(v,`Error while parsing connector`)}let y=ie(n,e);if((0,c.isMissing)(y))throw new to(v,`No matching operation found`);v.operationType=y.operationType,v.schema=y.schema?.key;let re=Uo(r,v),b;try{b=u(y,{query:r,body:i,headers:a})}catch{throw new no(v,`Error while parsing operation inputs`)}let x=await f({connector:ne,inputs:b,context:v,operation:y,credentials:te,nextCursor:re,logger:o,getHttpClient:s});return await p({block:x})},Uo=(e,t)=>{let n=e?.next,r=(0,c.notMissing)(n)&&t.operationType===`list`?(0,f.expandCursor)(n):void 0;if(r===null)throw new ro(t,`Invalid cursor.`);return r},Wo=async({account:e,connector:t,category:n,path:r,method:i=`get`,queryParams:a={},body:o,headers:s,logger:l,getHttpClient:u,parseConnector:d=ka,getOperationFromUrlFn:f=ne,getOperationForRefreshAuthenticationFn:p=Ja,parseOperationInputsFn:m=Va,createBlockContextFn:h=lo,createBlockFn:_=g,runStepOperationFn:ee=No})=>{let te=e.authConfigKey,v=e.environment??`production`,y=e.secureId,re=e.projectSecureId,ie=e.credentials,b=h({category:n,connectorKey:e.providerKey,connectorVersion:e.providerVersion,authConfigKey:te,environment:v,accountSecureId:y,projectSecureId:re}),x;try{x=(0,c.isString)(t)?d(t):t}catch{throw new eo(b,`Error while parsing connector`)}let S=Ko(r)?p(x,te,v):f(x,r,i);if((0,c.isMissing)(S))throw new to(b,`No matching operation found`);b.operationType=S.operation.operationType,b.schema=S.operation.schema?.key;let C=Go(a,b),w;try{w=m(S.operation,{query:a,body:o,headers:s,path:S.params})}catch{throw new no(b,`Error while parsing operation inputs`)}let T=await _({connector:x,inputs:w,context:b,operation:S.operation,credentials:ie,nextCursor:C,logger:l,getHttpClient:u});return await ee({block:T})},Go=(e,t)=>{let n=e?.next,r=(0,c.notMissing)(n)&&t.operationType===`list`?(0,f.expandCursor)(n):void 0;if(r===null)throw new ro(t,`Invalid cursor.`);return r},Ko=e=>e===so;exports.ConnectSDKError=$,exports.REFRESH_TOKEN_OPERATION_PATH=so,exports.buildActionsMetaFromConfig=io,exports.createBlock=g,exports.executeStepFunction=co,exports.getActionsMetaFromConfigs=ao,exports.getOperationFromUrl=ne,exports.getRefreshTokenExpiresIn=Za,exports.getTokenExpiresIn=Xa,exports.loadConnector=_,exports.parseOperationInputs=Va,exports.parseYamlConnector=ka,exports.runConnectorAction=Ho,exports.runConnectorOperation=Wo,exports.runStepOperation=No,exports.supportsRefreshAuthentication=Ya,exports.validateYamlConnector=Qa;
30
+ `),r=0,i=-1,a=0;for(let t=0;t<n.length;t++){let o=n[t],s=o.match(/^(\s*)/)?.[1]?.length||0,l=o.replace(`- `,``).trim();if(l.startsWith(`#`)||l===``||s<=i)continue;let u=(0,c.notMissing)(e[r])?`${String(e[r])}`:``;if((0,c.isMissing)(u))return a+1;if(isNaN(Number(u))){if(l.startsWith(`${u}:`)){if(r===e.length-1)return t+1;i=s,a=t,r++}}else{let e=parseInt(u,10),i=-1;for(let o=t;o<n.length;o++){let s=n[o],c=s.trim();if(c.startsWith(`-`)&&i++,i===e){r++,a=t,t--;break}else t++}}}return a+1};var $=class e extends Error{errorType;context;constructor(t,n,r){super(r),this.name=`ConnectSDKError`,this.errorType=t,this.context=n,Error.captureStackTrace&&Error.captureStackTrace(this,e)}toString(){return`${this.name} [${this.errorType}]: ${this.message}`}},eo=class extends ${constructor(e,t){super(`CONNECTOR_PARSE_ERROR`,e,t),this.name=`ConnectorParseError`}},to=class extends ${constructor(e,t){super(`MISSING_OPERATION_ERROR`,e,t),this.name=`MissingOperationError`}},no=class extends ${constructor(e,t){super(`INVALID_OPERATION_INPUTS_ERROR`,e,t),this.name=`InvalidOperationInputsError`}},ro=class extends ${constructor(e,t){super(`INVALID_CURSOR_ERROR`,e,t),this.name=`InvalidCursorError`}};const io=(e,t)=>{let n=Object.keys(e.authentication??{}).map(t=>({type:`custom`,label:e.authentication?.[t].production?.label||`Custom`,key:t})),r=Object.values(e?.operations??{}).map(e=>({id:e.id,description:e.description.replace(/\b\w/g,e=>e.toUpperCase()),name:e.description.replace(/\b\w/g,e=>e.toUpperCase()),schema_type:`native`,authentication:n,operation_details:t?.includes(`operation_details`)?e:void 0}));return{version:e.version,name:e.description,key:e.key,icon:e.assets?.icon,description:e.description,authentication:n,actions:r}},ao=(e,t)=>e.map(e=>io(e,t)),oo=`stackone://internal//`,so=`${oo}refresh_token`,co=async({block:e,stepFunctionName:t,params:n,buildStepFunction:r=f.StepFunctionsFactory.build})=>{let i=r({functionName:t}).fn,a=await i({block:e,params:n}),o=t===f.StepFunctionName.MAP_FIELDS?{[f.StepFunctionName.MAP_FIELDS.toString()]:{output:{data:a.block.result},errors:a.errors,successful:a.successful}}:{};return{...a.block,steps:{...a?.block?.steps??{},...o}}},lo=({category:e,connectorKey:t,connectorVersion:n,authConfigKey:r,environment:i=`production`,operation:a,accountSecureId:o,projectSecureId:s})=>({projectSecureId:s,accountSecureId:o,connectorKey:t,connectorVersion:n,category:e,service:``,resource:``,schema:a?.schema?.key,operationType:a?.operationType??`unknown`,authenticationType:r,environment:i}),uo=e=>{let t=e.operation?.compositeIdentifiers,n={...e.inputs??{}};if(!t?.enabled||(0,c.isMissing)(n))return e;let r=t.fields?.reduce((e,t)=>(t.components.forEach(t=>{t.alias&&(e[t.name]=t.alias)}),e),{}),i={version:t.version??f.COMPOSITE_ID_LATEST_VERSION,aliases:r};return fo(n,i,e.logger),{...e,inputs:n}},fo=(e,t,n)=>{for(let r in e){let i=e[r];if(typeof i==`string`||Array.isArray(i)&&i.every(e=>typeof e==`string`))vo(i,r,e,t,n);else if(Array.isArray(i))for(let e of i)fo(e,t,n);else typeof i==`object`&&i&&fo(i,t,n)}},po=(e,t,n,r)=>{let i=[],a=[];for(let o of e)try{let e=(0,f.decodeCompositeId)(o,n);i.push(e)}catch(e){r?.debug({message:`Received ${t} with invalid composite ID, assuming it is not a composite ID`,category:`processCompositeId`,context:{key:t,inputElement:o,compositeIdentifierConfig:n,error:e}}),a.push(o)}return{compositeIdComponents:i,nonCompositeIds:a}},mo=(e,t,n,r)=>{let i=n.filter(e=>Object.keys(e).length>1);i.length>0&&(e.decoded_ids={...e.decoded_ids??{},[t]:r?i:i[0]})},ho=e=>{let t=Object.values(e);return t.length===1&&(typeof t[0]==`string`||typeof t[0]==`number`)},go=(e,t,n,r,i)=>{n.every(ho)&&(i?e[t]=[...n.map(e=>Object.values(e)[0]),...r]:n.length>0&&(e[t]=Object.values(n[0])[0]))},_o=(e,t,n)=>{e instanceof f.CoreError&&e.type===`COMPOSITE_ID_MISSING_HEADER_ERROR`?n?.debug({message:`Received ${t} with no composite ID header, assuming it is not a composite ID`}):n?.warning({message:`Error processing composite ID for ${t}, ignoring it`,error:e})},vo=(e,t,n,r,i)=>{try{let a=Array.isArray(e),o=a?e:[e];if(o.length===0)return;let{compositeIdComponents:s,nonCompositeIds:c}=po(o,t,r,i);mo(n,t,s,a),go(n,t,s,c,a)}catch(e){_o(e,t,i)}},yo=`remote_`,bo=e=>{let t=e.operation?.compositeIdentifiers;if(!t?.enabled)return e;let n=`data`,r=e.outputs?.[n];if((0,c.isMissing)(r))return e;let i=Array.isArray(r)?r.map(e=>xo(e,t)):xo(r,t);return{...e,outputs:{...e.outputs??{},[n]:i}}},xo=(e,t)=>{let n=So(e,t),r=Ao(n);return{...e,...(0,c.isObject)(r)?r:{}}},So=(e,t)=>{let n=t.version??f.COMPOSITE_ID_LATEST_VERSION,r={};return t.fields?.forEach(t=>{let i={},a=[];t.components.forEach(t=>{t.alias&&(i[t.name]=t.alias),a.push({key:t.name,value:e[t.name]})});let o=a.length===1?a[0]:{identifiers:a},s={version:n,aliases:Object.keys(i).length>0?i:void 0},c=(0,f.encodeCompositeId)(o,s);r[t.targetFieldKey]=c,t.remote&&(r[`${yo}${t.remote}`]=e[t.remote])}),{...e,...r}},Co=e=>e===`id`||/.+_id(s)?$/.test(e),wo=e=>Array.isArray(e)&&e.every(e=>(0,c.isString)(e)&&e.length>0),To=(e,t)=>(0,f.isCompositeId)(e)||t.startsWith(yo),Eo=(e,t)=>{try{return(0,f.encodeCompositeId)({key:e,value:t},{version:f.COMPOSITE_ID_LATEST_VERSION})}catch{return t}},Do=(e,t,n)=>{let r=t.map(t=>(0,c.isString)(t)&&t.length>0&&!(0,f.isCompositeId)(t)?Eo(e,t):t);n[e]=r,n[`${yo}${e}`]=t},Oo=(e,t,n)=>{if(To(t,e))return;let r=(0,f.encodeCompositeId)({key:e,value:t},{version:f.COMPOSITE_ID_LATEST_VERSION});n[e]=r,n[`remote_${e}`]=t},ko=(e,t,n)=>{wo(t)?Do(e,t,n):(0,c.isString)(t)&&t.length>0&&Oo(e,t,n)},Ao=e=>{if(Array.isArray(e))return e.map(e=>Ao(e));if(!(0,c.isObject)(e))return e;let t={...e};for(let[n,r]of Object.entries(e))((0,c.isObject)(r)||Array.isArray(r)&&r.length>0&&(0,c.isObject)(r[0]))&&(t[n]=Ao(r)),Co(n)&&ko(n,r,t);return t},jo=(e,t)=>{let n=Number(e.inputs?.page_size),r=(0,c.notMissing)(e.inputs?.page_size)&&(0,c.isNumber)(n)&&!Number.isNaN(n)?n:e.operation?.cursor?.pageSize??t;return r},Mo=(e,t,n,r)=>{let i=(0,c.isMissing)(e)?void 0:e.data,a=Object.keys(n).length+1,o=(0,f.isCursorEmpty)({cursor:r,ignoreStepIndex:a});if(!(0,c.isObject)(e)||(0,c.isMissing)(i)||(i?.length??0)<=t)return{result:e,next:(0,c.notMissing)(r)&&!o?(0,f.minifyCursor)(r):null};let s=r?.remote?.[a]?.pageNumber??1,l=(s-1)*t,u=l+t,d=i.slice(l,u),p=i.length>u||!o,m=(0,f.updateCursor)({cursor:r,stepIndex:a,pageNumber:s+1});return{result:{...e,data:d},next:p?(0,f.minifyCursor)(m):null}},No=async({block:e,buildStepFunction:t=f.StepFunctionsFactory.build,virtualPaginateResultFn:n=Mo,encodeResultCompositeIds:r=bo,decodeInputCompositeIds:i=uo})=>{let a=i(e),o=await zo({block:a,buildStepFunction:t,virtualPaginateResultFn:n});return r(o)},Po=(e,t)=>e.condition?!(0,h.safeEvaluate)(e.condition,t):!1,Fo=(e,t,n)=>{let r=e.stepFunction;return t.operation?.cursor.enabled?{...r.params??{},cursor:{token:t.nextCursor?.remote?.[n]?.providerPageCursor,position:t.nextCursor?.remote?.[n]?.position}}:r.params??{}},Io=(e,t,n,r,i)=>{let a=Vo({block:e,stepId:t,successful:!1,functionOutput:n}),o=r.ignoreError??!1;return o||(i.hasFatalError=!0,i.errorStatusCode??=n.output?.statusCode??500),a},Lo=async(e,t,n,r,i,a)=>{let o=n[e],s=o.stepFunction,c=a.buildStepFunction({functionName:s.functionName,version:s.version,validateSchemas:!0}).fn;if(Po(o,r))return Vo({block:r,stepId:e,successful:!0,skipped:!0,message:`Step skipped due to condition not met.`});if(i.hasFatalError)return Vo({block:r,stepId:e,successful:!1,skipped:!0,message:`Step skipped due to previous error.`});let l=Fo(o,r,t),u=await c({block:r,params:l});if(u.successful===!1)return Io(r,e,u,o,i);let d=r.operation?.cursor.enabled?(0,f.updateCursor)({cursor:r.nextCursor,stepIndex:t,providerPageCursor:u.output?.next,position:u.output?.position}):void 0;return Vo({block:{...u.block,nextCursor:d},stepId:e,functionOutput:u})},Ro=(e,t,n,r,i)=>{let a=!n.hasFatalError,o=a?e.operation?.responses.success.statusCode??200:n.errorStatusCode??500,s=(0,c.notMissing)(i)&&(0,c.isObject)(i.result)?{next:i.next,...i.result}:r;return{...t,outputs:s,response:{successful:a,statusCode:o,message:a?void 0:e.operation?.responses?.errors?.[o]?.description??p.HttpErrorMessages?.[o]??`Error while processing the request`}}},zo=async({block:e,buildStepFunction:t=f.StepFunctionsFactory.build,virtualPaginateResultFn:n=Mo})=>{let r=e.operation?.steps||{},i={...e},a=Object.keys(r),o=jo(e,va),s={hasFatalError:!1,errorStatusCode:null},c={block:e,buildStepFunction:t,virtualPaginateResultFn:n};for(let[e,t]of a.entries())i=await Lo(t,e,r,i,s,c);let l=e.operation?.result?Bo(e.operation.result,i):void 0,u=e.operation?.cursor.enabled?n(l,o,r,i.nextCursor):void 0;return Ro(e,i,s,l,u)},Bo=(e,t)=>(0,c.isObject)(e)?(0,h.safeEvaluateRecord)(e,t):(0,h.safeEvaluate)(e,t),Vo=({block:e,stepId:t,successful:n,functionOutput:r,skipped:i,message:a})=>({...e,steps:{...e.steps,[t]:{successful:n??r?.successful??!1,errors:r?.errors,output:r?.output,skipped:i,message:a}}}),Ho=async({operationId:e,account:t,connector:n,queryParams:r={},body:i,headers:a,logger:o,getHttpClient:s,parseConnector:l=ka,parseOperationInputsFn:u=Va,createBlockContextFn:d=lo,createBlockFn:f=g,runStepOperationFn:p=No})=>{let m=t.authConfigKey,h=t.environment??`production`,_=t.secureId,ee=t.projectSecureId,te=t.credentials,v=d({category:`action`,connectorKey:t.providerKey,connectorVersion:t.providerVersion,authConfigKey:m,environment:h,accountSecureId:_,projectSecureId:ee}),ne;try{ne=(0,c.isString)(n)?l(n):n}catch{throw new eo(v,`Error while parsing connector`)}let y=ie(n,e);if((0,c.isMissing)(y))throw new to(v,`No matching operation found`);v.operationType=y.operationType,v.schema=y.schema?.key;let re=Uo(r,v),b;try{b=u(y,{query:r,body:i,headers:a})}catch{throw new no(v,`Error while parsing operation inputs`)}let x=await f({connector:ne,inputs:b,context:v,operation:y,credentials:te,nextCursor:re,logger:o,getHttpClient:s});return await p({block:x})},Uo=(e,t)=>{let n=e?.next,r=(0,c.notMissing)(n)&&t.operationType===`list`?(0,f.expandCursor)(n):void 0;if(r===null)throw new ro(t,`Invalid cursor.`);return r},Wo=async({account:e,connector:t,category:n,path:r,method:i=`get`,queryParams:a={},body:o,headers:s,logger:l,getHttpClient:u,parseConnector:d=ka,getOperationFromUrlFn:f=ne,getOperationForRefreshAuthenticationFn:p=Ja,parseOperationInputsFn:m=Va,createBlockContextFn:h=lo,createBlockFn:_=g,runStepOperationFn:ee=No})=>{let te=e.authConfigKey,v=e.environment??`production`,y=e.secureId,re=e.projectSecureId,ie=e.credentials,b=h({category:n,connectorKey:e.providerKey,connectorVersion:e.providerVersion,authConfigKey:te,environment:v,accountSecureId:y,projectSecureId:re}),x;try{x=(0,c.isString)(t)?d(t):t}catch{throw new eo(b,`Error while parsing connector`)}let S=Ko(r)?p(x,te,v):f(x,r,i);if((0,c.isMissing)(S))throw new to(b,`No matching operation found`);b.operationType=S.operation.operationType,b.schema=S.operation.schema?.key;let C=Go(a,b),w;try{w=m(S.operation,{query:a,body:o,headers:s,path:S.params})}catch{throw new no(b,`Error while parsing operation inputs`)}let T=await _({connector:x,inputs:w,context:b,operation:S.operation,credentials:ie,nextCursor:C,logger:l,getHttpClient:u});return await ee({block:T})},Go=(e,t)=>{let n=e?.next,r=(0,c.notMissing)(n)&&t.operationType===`list`?(0,f.expandCursor)(n):void 0;if(r===null)throw new ro(t,`Invalid cursor.`);return r},Ko=e=>e===so;exports.ConnectSDKError=$,exports.REFRESH_TOKEN_OPERATION_PATH=so,exports.buildActionsMetaFromConfig=io,exports.createBlock=g,exports.executeStepFunction=co,exports.getActionsMetaFromConfigs=ao,exports.getOperationFromUrl=ne,exports.getRefreshTokenExpiresIn=Za,exports.getTokenExpiresIn=Xa,exports.loadConnector=_,exports.parseOperationInputs=Va,exports.parseYamlConnector=ka,exports.runConnectorAction=Ho,exports.runConnectorOperation=Wo,exports.runStepOperation=No,exports.supportsRefreshAuthentication=Ya,exports.validateYamlConnector=Qa;
package/dist/index.mjs CHANGED
@@ -27,4 +27,4 @@ import{isMissing as e,isNumber as t,isObject as n,isString as r,notMissing as i}
27
27
  ...iss,
28
28
  path: iss.path ? [${k(e)}, ...iss.path] : [${k(e)}]
29
29
  })));`),t.write(`newResult[${k(e)}] = ${n}.value`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},i,a=be,o=!de.jitless,s=xe,c=o&&s.value,l=t.catchall,u;e._zod.parse=(s,d)=>{u??=n.value;let f=s.value;if(!a(f))return s.issues.push({expected:`object`,code:`invalid_type`,input:f,inst:e}),s;let p=[];if(o&&c&&d?.async===!1&&d.jitless!==!0)i||=r(t.shape),s=i(s,d);else{s.value={};let e=u.shape;for(let t of u.keys){let n=e[t],r=n._zod.run({value:f[t],issues:[]},d),i=n._zod.optin===`optional`&&n._zod.optout===`optional`;r instanceof Promise?p.push(r.then(e=>i?Sn(e,s,t,f):xn(e,s,t))):i?Sn(r,s,t,f):xn(r,s,t)}}if(!l)return p.length?Promise.all(p).then(()=>s):s;let m=[],h=u.keySet,g=l._zod,_=g.def.type;for(let e of Object.keys(f)){if(h.has(e))continue;if(_===`never`){m.push(e);continue}let t=g.run({value:f[e],issues:[]},d);t instanceof Promise?p.push(t.then(t=>xn(t,s,e))):xn(t,s,e)}return m.length&&s.issues.push({code:`unrecognized_keys`,keys:m,input:f,inst:e}),p.length?Promise.all(p).then(()=>s):s}});function wn(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;return t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>I(e,r,D())))}),t}const Tn=T(`$ZodUnion`,(e,t)=>{z.init(e,t),O(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),O(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),O(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),O(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>ge(e.source)).join(`|`)})$`)}}),e._zod.parse=(n,r)=>{let i=!1,a=[];for(let e of t.options){let t=e._zod.run({value:n.value,issues:[]},r);if(t instanceof Promise)a.push(t),i=!0;else{if(t.issues.length===0)return t;a.push(t)}}return i?Promise.all(a).then(t=>wn(t,n,e,r)):wn(a,n,e,r)}}),En=T(`$ZodDiscriminatedUnion`,(e,t)=>{Tn.init(e,t);let n=e._zod.parse;O(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=me(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!be(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,input:o,path:[t.discriminator],inst:e}),i)}}),Dn=T(`$ZodIntersection`,(e,t)=>{z.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n),o=i instanceof Promise||a instanceof Promise;return o?Promise.all([i,a]).then(([t,n])=>kn(e,t,n)):kn(e,i,a)}});function On(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Se(e)&&Se(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=On(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=On(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function kn(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),N(e))return e;let r=On(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const An=T(`$ZodRecord`,(e,t)=>{z.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Se(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[];if(t.keyType._zod.values){let o=t.keyType._zod.values;n.value={};for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...P(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...P(e,o.issues)),n.value[e]=o.value)}let s;for(let e in i)o.has(e)||(s??=[],s.push(e));s&&s.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:s})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){n.issues.push({origin:`record`,code:`invalid_key`,issues:s.issues.map(e=>I(e,r,D())),input:o,path:[o],inst:e}),n.value[s.value]=s.value;continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...P(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...P(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),jn=T(`$ZodEnum`,(e,t)=>{z.init(e,t);let n=fe(t.entries);e._zod.values=new Set(n),e._zod.pattern=RegExp(`^(${n.filter(e=>Ce.has(typeof e)).map(e=>typeof e==`string`?A(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,r)=>{let i=t.value;return e._zod.values.has(i)||t.issues.push({code:`invalid_value`,values:n,input:i,inst:e}),t}}),Mn=T(`$ZodLiteral`,(e,t)=>{z.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?A(e):e?e.toString():String(e)).join(`|`)})$`),e._zod.parse=(n,r)=>{let i=n.value;return e._zod.values.has(i)||n.issues.push({code:`invalid_value`,values:t.values,input:i,inst:e}),n}}),Nn=T(`$ZodTransform`,(e,t)=>{z.init(e,t),e._zod.parse=(e,n)=>{let r=t.transform(e.value,e);if(n.async){let t=r instanceof Promise?r:Promise.resolve(r);return t.then(t=>(e.value=t,e))}if(r instanceof Promise)throw new E;return e.value=r,e}}),Pn=T(`$ZodOptional`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,O(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),O(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ge(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>t.innerType._zod.optin===`optional`?t.innerType._zod.run(e,n):e.value===void 0?e:t.innerType._zod.run(e,n)}),Fn=T(`$ZodNullable`,(e,t)=>{z.init(e,t),O(e._zod,`optin`,()=>t.innerType._zod.optin),O(e._zod,`optout`,()=>t.innerType._zod.optout),O(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ge(e.source)}|null)$`):void 0}),O(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),In=T(`$ZodDefault`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,O(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Ln(e,t)):Ln(r,t)}});function Ln(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Rn=T(`$ZodPrefault`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,O(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),zn=T(`$ZodNonOptional`,(e,t)=>{z.init(e,t),O(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Bn(t,e)):Bn(i,e)}});function Bn(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}const Vn=T(`$ZodCatch`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,O(e._zod,`optout`,()=>t.innerType._zod.optout),O(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>I(e,n,D()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>I(e,n,D()))},input:e.value}),e.issues=[]),e)}}),Hn=T(`$ZodPipe`,(e,t)=>{z.init(e,t),O(e._zod,`values`,()=>t.in._zod.values),O(e._zod,`optin`,()=>t.in._zod.optin),O(e._zod,`optout`,()=>t.out._zod.optout),e._zod.parse=(e,n)=>{let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Un(e,t,n)):Un(r,t,n)}});function Un(e,t,n){return N(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}const Wn=T(`$ZodReadonly`,(e,t)=>{z.init(e,t),O(e._zod,`propValues`,()=>t.innerType._zod.propValues),O(e._zod,`values`,()=>t.innerType._zod.values),O(e._zod,`optin`,()=>t.innerType._zod.optin),O(e._zod,`optout`,()=>t.innerType._zod.optout),e._zod.parse=(e,n)=>{let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Gn):Gn(r)}});function Gn(e){return e.value=Object.freeze(e.value),e}const Kn=T(`$ZodLazy`,(e,t)=>{z.init(e,t),O(e._zod,`innerType`,()=>t.getter()),O(e._zod,`pattern`,()=>e._zod.innerType._zod.pattern),O(e._zod,`propValues`,()=>e._zod.innerType._zod.propValues),O(e._zod,`optin`,()=>e._zod.innerType._zod.optin),O(e._zod,`optout`,()=>e._zod.innerType._zod.optout),e._zod.parse=(t,n)=>{let r=e._zod.innerType;return r._zod.run(t,n)}}),qn=T(`$ZodCustom`,(e,t)=>{R.init(e,t),z.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Jn(t,n,r,e));Jn(i,n,r,e)}});function Jn(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(L(e))}}Symbol(`ZodOutput`),Symbol(`ZodInput`);var Yn=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==`object`&&`id`in n){if(this._idmap.has(n.id))throw Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Xn(){return new Yn}const Zn=Xn();function Qn(e,t){return new e({type:`string`,...M(t)})}function $n(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...M(t)})}function er(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...M(t)})}function tr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...M(t)})}function nr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...M(t)})}function rr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...M(t)})}function ir(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...M(t)})}function ar(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...M(t)})}function or(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...M(t)})}function sr(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...M(t)})}function cr(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...M(t)})}function lr(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...M(t)})}function ur(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...M(t)})}function dr(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...M(t)})}function fr(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...M(t)})}function pr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...M(t)})}function mr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...M(t)})}function hr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...M(t)})}function gr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...M(t)})}function _r(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...M(t)})}function vr(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...M(t)})}function yr(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...M(t)})}function br(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...M(t)})}function xr(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...M(t)})}function Sr(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...M(t)})}function Cr(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...M(t)})}function wr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...M(t)})}function Tr(e,t){return new e({type:`number`,checks:[],...M(t)})}function Er(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...M(t)})}function Dr(e,t){return new e({type:`boolean`,...M(t)})}function Or(e){return new e({type:`any`})}function kr(e){return new e({type:`unknown`})}function Ar(e,t){return new e({type:`never`,...M(t)})}function jr(e,t){return new St({check:`less_than`,...M(t),value:e,inclusive:!1})}function Mr(e,t){return new St({check:`less_than`,...M(t),value:e,inclusive:!0})}function Nr(e,t){return new Ct({check:`greater_than`,...M(t),value:e,inclusive:!1})}function Pr(e,t){return new Ct({check:`greater_than`,...M(t),value:e,inclusive:!0})}function Fr(e,t){return new wt({check:`multiple_of`,...M(t),value:e})}function Ir(e,t){let n=new Et({check:`max_length`,...M(t),maximum:e});return n}function Lr(e,t){return new Dt({check:`min_length`,...M(t),minimum:e})}function Rr(e,t){return new Ot({check:`length_equals`,...M(t),length:e})}function zr(e,t){return new At({check:`string_format`,format:`regex`,...M(t),pattern:e})}function Br(e){return new jt({check:`string_format`,format:`lowercase`,...M(e)})}function Vr(e){return new Mt({check:`string_format`,format:`uppercase`,...M(e)})}function Hr(e,t){return new Nt({check:`string_format`,format:`includes`,...M(t),includes:e})}function Ur(e,t){return new Pt({check:`string_format`,format:`starts_with`,...M(t),prefix:e})}function Wr(e,t){return new Ft({check:`string_format`,format:`ends_with`,...M(t),suffix:e})}function V(e){return new It({check:`overwrite`,tx:e})}function Gr(e){return V(t=>t.normalize(e))}function Kr(){return V(e=>e.trim())}function qr(){return V(e=>e.toLowerCase())}function Jr(){return V(e=>e.toUpperCase())}function Yr(e,t,n){return new e({type:`array`,element:t,...M(n)})}function Xr(e,t,n){let r=new e({type:`custom`,check:`custom`,fn:t,...M(n)});return r}const Zr=T(`ZodISODateTime`,(e,t)=>{Zt.init(e,t),W.init(e,t)});function Qr(e){return xr(Zr,e)}const $r=T(`ZodISODate`,(e,t)=>{Qt.init(e,t),W.init(e,t)});function ei(e){return Sr($r,e)}const ti=T(`ZodISOTime`,(e,t)=>{$t.init(e,t),W.init(e,t)});function ni(e){return Cr(ti,e)}const ri=T(`ZodISODuration`,(e,t)=>{en.init(e,t),W.init(e,t)});function ii(e){return wr(ri,e)}const ai=(e,t)=>{Pe.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Le(e,t)},flatten:{value:t=>Ie(e,t)},addIssue:{value:t=>e.issues.push(t)},addIssues:{value:t=>e.issues.push(...t)},isEmpty:{get(){return e.issues.length===0}}})};T(`ZodError`,ai);const oi=T(`ZodError`,ai,{Parent:Error}),si=Re(oi),ci=ze(oi),li=Be(oi),ui=He(oi),H=T(`ZodType`,(e,t)=>(z.init(e,t),e.def=t,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),e.clone=(t,n)=>j(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>si(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>li(e,t,n),e.parseAsync=async(t,n)=>ci(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ui(e,t,n),e.spa=e.safeParseAsync,e.refine=(t,n)=>e.check(ba(t,n)),e.superRefine=t=>e.check(xa(t)),e.overwrite=t=>e.check(V(t)),e.optional=()=>ta(e),e.nullable=()=>ra(e),e.nullish=()=>ta(ra(e)),e.nonoptional=t=>la(e,t),e.array=()=>Vi(e),e.or=t=>Wi([e,t]),e.and=t=>Ji(e,t),e.transform=t=>pa(e,$i(t)),e.default=t=>aa(e,t),e.prefault=t=>sa(e,t),e.catch=t=>da(e,t),e.pipe=t=>pa(e,t),e.readonly=()=>ha(e),e.describe=t=>{let n=e.clone();return Zn.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return Zn.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return Zn.get(e);let n=e.clone();return Zn.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),di=T(`_ZodString`,(e,t)=>{zt.init(e,t),H.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(zr(...t)),e.includes=(...t)=>e.check(Hr(...t)),e.startsWith=(...t)=>e.check(Ur(...t)),e.endsWith=(...t)=>e.check(Wr(...t)),e.min=(...t)=>e.check(Lr(...t)),e.max=(...t)=>e.check(Ir(...t)),e.length=(...t)=>e.check(Rr(...t)),e.nonempty=(...t)=>e.check(Lr(1,...t)),e.lowercase=t=>e.check(Br(t)),e.uppercase=t=>e.check(Vr(t)),e.trim=()=>e.check(Kr()),e.normalize=(...t)=>e.check(Gr(...t)),e.toLowerCase=()=>e.check(qr()),e.toUpperCase=()=>e.check(Jr())}),fi=T(`ZodString`,(e,t)=>{zt.init(e,t),di.init(e,t),e.email=t=>e.check($n(pi,t)),e.url=t=>e.check(ar(hi,t)),e.jwt=t=>e.check(br(Ai,t)),e.emoji=t=>e.check(or(gi,t)),e.guid=t=>e.check(er(mi,t)),e.uuid=t=>e.check(tr(G,t)),e.uuidv4=t=>e.check(nr(G,t)),e.uuidv6=t=>e.check(rr(G,t)),e.uuidv7=t=>e.check(ir(G,t)),e.nanoid=t=>e.check(sr(_i,t)),e.guid=t=>e.check(er(mi,t)),e.cuid=t=>e.check(cr(vi,t)),e.cuid2=t=>e.check(lr(yi,t)),e.ulid=t=>e.check(ur(bi,t)),e.base64=t=>e.check(_r(Di,t)),e.base64url=t=>e.check(vr(Oi,t)),e.xid=t=>e.check(dr(xi,t)),e.ksuid=t=>e.check(fr(Si,t)),e.ipv4=t=>e.check(pr(Ci,t)),e.ipv6=t=>e.check(mr(wi,t)),e.cidrv4=t=>e.check(hr(Ti,t)),e.cidrv6=t=>e.check(gr(Ei,t)),e.e164=t=>e.check(yr(ki,t)),e.datetime=t=>e.check(Qr(t)),e.date=t=>e.check(ei(t)),e.time=t=>e.check(ni(t)),e.duration=t=>e.check(ii(t))});function U(e){return Qn(fi,e)}const W=T(`ZodStringFormat`,(e,t)=>{B.init(e,t),di.init(e,t)}),pi=T(`ZodEmail`,(e,t)=>{Ht.init(e,t),W.init(e,t)}),mi=T(`ZodGUID`,(e,t)=>{Bt.init(e,t),W.init(e,t)}),G=T(`ZodUUID`,(e,t)=>{Vt.init(e,t),W.init(e,t)}),hi=T(`ZodURL`,(e,t)=>{Ut.init(e,t),W.init(e,t)}),gi=T(`ZodEmoji`,(e,t)=>{Wt.init(e,t),W.init(e,t)}),_i=T(`ZodNanoID`,(e,t)=>{Gt.init(e,t),W.init(e,t)}),vi=T(`ZodCUID`,(e,t)=>{Kt.init(e,t),W.init(e,t)}),yi=T(`ZodCUID2`,(e,t)=>{qt.init(e,t),W.init(e,t)}),bi=T(`ZodULID`,(e,t)=>{Jt.init(e,t),W.init(e,t)}),xi=T(`ZodXID`,(e,t)=>{Yt.init(e,t),W.init(e,t)}),Si=T(`ZodKSUID`,(e,t)=>{Xt.init(e,t),W.init(e,t)}),Ci=T(`ZodIPv4`,(e,t)=>{tn.init(e,t),W.init(e,t)}),wi=T(`ZodIPv6`,(e,t)=>{nn.init(e,t),W.init(e,t)}),Ti=T(`ZodCIDRv4`,(e,t)=>{rn.init(e,t),W.init(e,t)}),Ei=T(`ZodCIDRv6`,(e,t)=>{an.init(e,t),W.init(e,t)}),Di=T(`ZodBase64`,(e,t)=>{sn.init(e,t),W.init(e,t)}),Oi=T(`ZodBase64URL`,(e,t)=>{ln.init(e,t),W.init(e,t)}),ki=T(`ZodE164`,(e,t)=>{un.init(e,t),W.init(e,t)}),Ai=T(`ZodJWT`,(e,t)=>{fn.init(e,t),W.init(e,t)}),ji=T(`ZodNumber`,(e,t)=>{pn.init(e,t),H.init(e,t),e.gt=(t,n)=>e.check(Nr(t,n)),e.gte=(t,n)=>e.check(Pr(t,n)),e.min=(t,n)=>e.check(Pr(t,n)),e.lt=(t,n)=>e.check(jr(t,n)),e.lte=(t,n)=>e.check(Mr(t,n)),e.max=(t,n)=>e.check(Mr(t,n)),e.int=t=>e.check(Ni(t)),e.safe=t=>e.check(Ni(t)),e.positive=t=>e.check(Nr(0,t)),e.nonnegative=t=>e.check(Pr(0,t)),e.negative=t=>e.check(jr(0,t)),e.nonpositive=t=>e.check(Mr(0,t)),e.multipleOf=(t,n)=>e.check(Fr(t,n)),e.step=(t,n)=>e.check(Fr(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function K(e){return Tr(ji,e)}const Mi=T(`ZodNumberFormat`,(e,t)=>{mn.init(e,t),ji.init(e,t)});function Ni(e){return Er(Mi,e)}const Pi=T(`ZodBoolean`,(e,t)=>{hn.init(e,t),H.init(e,t)});function q(e){return Dr(Pi,e)}const Fi=T(`ZodAny`,(e,t)=>{gn.init(e,t),H.init(e,t)});function Ii(){return Or(Fi)}const Li=T(`ZodUnknown`,(e,t)=>{_n.init(e,t),H.init(e,t)});function J(){return kr(Li)}const Ri=T(`ZodNever`,(e,t)=>{vn.init(e,t),H.init(e,t)});function zi(e){return Ar(Ri,e)}const Bi=T(`ZodArray`,(e,t)=>{bn.init(e,t),H.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(Lr(t,n)),e.nonempty=t=>e.check(Lr(1,t)),e.max=(t,n)=>e.check(Ir(t,n)),e.length=(t,n)=>e.check(Rr(t,n)),e.unwrap=()=>e.element});function Vi(e,t){return Yr(Bi,e,t)}const Hi=T(`ZodObject`,(e,t)=>{Cn.init(e,t),H.init(e,t),O(e,`shape`,()=>t.shape),e.keyof=()=>Z(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:J()}),e.loose=()=>e.clone({...e._zod.def,catchall:J()}),e.strict=()=>e.clone({...e._zod.def,catchall:zi()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Oe(e,t),e.merge=t=>ke(e,t),e.pick=t=>Ee(e,t),e.omit=t=>De(e,t),e.partial=(...t)=>Ae(ea,e,t[0]),e.required=(...t)=>je(ca,e,t[0])});function Y(e,t){let n={type:`object`,get shape(){return ve(this,`shape`,{...e}),this.shape},...M(t)};return new Hi(n)}const Ui=T(`ZodUnion`,(e,t)=>{Tn.init(e,t),H.init(e,t),e.options=t.options});function Wi(e,t){return new Ui({type:`union`,options:e,...M(t)})}const Gi=T(`ZodDiscriminatedUnion`,(e,t)=>{Ui.init(e,t),En.init(e,t)});function Ki(e,t,n){return new Gi({type:`union`,options:t,discriminator:e,...M(n)})}const qi=T(`ZodIntersection`,(e,t)=>{Dn.init(e,t),H.init(e,t)});function Ji(e,t){return new qi({type:`intersection`,left:e,right:t})}const Yi=T(`ZodRecord`,(e,t)=>{An.init(e,t),H.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function X(e,t,n){return new Yi({type:`record`,keyType:e,valueType:t,...M(n)})}const Xi=T(`ZodEnum`,(e,t)=>{jn.init(e,t),H.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Xi({...t,checks:[],...M(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Xi({...t,checks:[],...M(r),entries:i})}});function Z(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Xi({type:`enum`,entries:n,...M(t)})}const Zi=T(`ZodLiteral`,(e,t)=>{Mn.init(e,t),H.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,`value`,{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Q(e,t){return new Zi({type:`literal`,values:Array.isArray(e)?e:[e],...M(t)})}const Qi=T(`ZodTransform`,(e,t)=>{Nn.init(e,t),H.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=r=>{if(typeof r==`string`)n.issues.push(L(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,t.continue??=!0,n.issues.push(L(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function $i(e){return new Qi({type:`transform`,transform:e})}const ea=T(`ZodOptional`,(e,t)=>{Pn.init(e,t),H.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ta(e){return new ea({type:`optional`,innerType:e})}const na=T(`ZodNullable`,(e,t)=>{Fn.init(e,t),H.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ra(e){return new na({type:`nullable`,innerType:e})}const ia=T(`ZodDefault`,(e,t)=>{In.init(e,t),H.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function aa(e,t){return new ia({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():t}})}const oa=T(`ZodPrefault`,(e,t)=>{Rn.init(e,t),H.init(e,t),e.unwrap=()=>e._zod.def.innerType});function sa(e,t){return new oa({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():t}})}const ca=T(`ZodNonOptional`,(e,t)=>{zn.init(e,t),H.init(e,t),e.unwrap=()=>e._zod.def.innerType});function la(e,t){return new ca({type:`nonoptional`,innerType:e,...M(t)})}const ua=T(`ZodCatch`,(e,t)=>{Vn.init(e,t),H.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function da(e,t){return new ua({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const fa=T(`ZodPipe`,(e,t)=>{Hn.init(e,t),H.init(e,t),e.in=t.in,e.out=t.out});function pa(e,t){return new fa({type:`pipe`,in:e,out:t})}const ma=T(`ZodReadonly`,(e,t)=>{Wn.init(e,t),H.init(e,t)});function ha(e){return new ma({type:`readonly`,innerType:e})}const ga=T(`ZodLazy`,(e,t)=>{Kn.init(e,t),H.init(e,t),e.unwrap=()=>e._zod.def.getter()});function _a(e){return new ga({type:`lazy`,getter:e})}const va=T(`ZodCustom`,(e,t)=>{qn.init(e,t),H.init(e,t)});function ya(e){let t=new R({check:`custom`});return t._zod.check=e,t}function ba(e,t={}){return Xr(va,e,t)}function xa(e){let t=ya(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(L(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(L(r))}},e(n.value,n)));return t}const Sa=25,Ca=e=>{switch(e){case`list`:return{statusCode:200,description:`The list of records was retrieved.`};case`get`:return{statusCode:200,description:`The record with the given identifier was retrieved.`};case`create`:return{statusCode:201,description:`The record was created successfully.`};case`update`:return{statusCode:200,description:`The record was updated successfully.`};case`delete`:return{statusCode:204,description:`The record was deleted successfully.`};case`custom`:return{statusCode:200,description:`The operation was executed successfully.`};case`refresh_token`:return{statusCode:200,description:`The refresh token operation was executed successfully.`};case`unknown`:return{statusCode:200};default:throw Error(`Unknown operation type: ${e}`)}},wa=()=>{let e={400:{statusCode:400,description:`Invalid request.`},401:{statusCode:401,description:`Unauthorized access.`},403:{statusCode:403,description:`Forbidden.`},404:{statusCode:404,description:`Resource not found.`},500:{statusCode:500,description:`Server error while executing the request.`}};return e},Ta={key:U(),label:U(),required:q().optional().default(!1),secret:q().optional().default(!1),readOnly:q().optional().default(!1),placeholder:U().optional(),description:U().optional(),tooltip:U().optional()},Ea=Ki(`type`,[Y({...Ta,type:Z([`text`,`password`])}),Y({...Ta,type:Q(`select`),options:Y({value:U(),label:U()}).array()})]),Da=Y({targetFieldKey:U(),alias:U().optional(),expression:U().optional(),values:J().optional(),type:Z([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:q().default(!1),custom:q().default(!1),hidden:q().default(!1),enumMapper:Y({matcher:Z([`country_alpha2code_by_alpha2code`,`country_alpha3code_by_alpha3code`,`country_code_by_country_code`,`country_name_by_country_name`,`country_name_by_alpha3code`,`country_name_by_alpha2code`,`country_name_by_country_code`,`country_alpha3code_by_alpha2code`,`country_alpha3code_by_country_name`,`country_alpha3code_by_country_code`,`country_alpha2code_by_alpha3code`,`country_alpha2code_by_country_name`,`country_alpha2code_by_country_code`,`country_code_by_alpha2code`,`country_code_by_alpha3code`,`country_code_by_country_name`,`country_subdivisions_by_alpha2code`,`country_subdivision_code_by_subdivision_name`,`country_alpha2code_by_citizenship`,`country_subdivision_name_by_subdivision_code`]).or(Y({matchExpression:U(),value:U()}).array())}).optional(),properties:_a(()=>Da).array().optional()}),Oa=Y({operationId:U(),categories:U().array(),operationType:Z([`list`,`get`,`create`,`update`,`delete`,`custom`,`refresh_token`,`unknown`]),schema:U().optional(),entrypointUrl:U().optional(),entrypointHttpMethod:U().optional(),description:U(),responses:Y({statusCode:K(),description:U()}).array().optional(),inputs:Y({name:U(),type:U(),required:q(),description:U(),in:U()}).array().optional(),cursor:Y({enabled:q(),pageSize:K()}).optional(),compositeIdentifiers:Y({enabled:q(),version:K().optional(),fields:Y({targetFieldKey:U(),remote:U().optional(),components:U().array()}).array().optional()}).optional(),scheduledJobs:Y({enabled:q(),type:Z([`data_sync`]),schedule:U(),description:U(),requestParams:Y({fields:U().array().optional(),expand:U().array().optional(),filter:X(U(),U()).optional()}).optional(),syncFilter:Y({name:Z([`updated_after`,`created_after`]),initialLoopbackPeriod:U(),incrementalLoopbackPeriod:U()}).optional()}).array().optional(),fieldConfigs:Da.array().optional(),steps:Y({stepId:U(),description:U(),stepFunction:Y({functionName:U(),version:U().optional(),parameters:X(U(),J())}),condition:U().optional(),ignoreError:q().optional()}).array(),result:U().or(X(U(),J())).optional()}),ka=Y({schedule:U().optional(),operation:Oa.extend({operationType:Q(`refresh_token`)})}),Aa=Y({mainRatelimit:K(),subPools:Vi(Y({subPoolKey:U(),urlPattern:U(),rateLimit:K()})).optional(),mappedRateLimitErrors:Vi(Y({errorStatus:K(),errorMessage:U(),errorMessagePath:U().optional(),retryAfterPath:U().optional(),retryAfterUnit:Wi([Q(`seconds`),Q(`milliseconds`),Q(`date`)]).optional(),retryAfterValue:K().optional()})).optional()}),ja=Y({mainMaxConcurrency:K(),subPools:Vi(Y({subPoolKey:U(),urlPattern:U(),maxConcurrency:K()})).optional()}),Ma=Y({StackOne:U(),info:Y({title:U(),version:U(),key:U(),assets:Y({icon:U()}),description:U().optional()}),baseUrl:U(),authentication:X(U(),Y({type:U(),label:U(),authorization:u,environments:Y({key:U(),name:U()}).array(),support:Y({link:U(),description:U().optional()}),configFields:Ea.array().optional(),setupFields:Ea.array().optional(),refreshAuthentication:ka.optional(),testOperations:Y({operation:U().or(Oa),condition:U().optional(),required:q().default(!0)}).array().optional()})).array().optional(),operations:Oa.array().optional(),rateLimit:Aa.optional(),concurrency:ja.optional()});function Na(e){try{let t=S(e),n=Ma.parse(t),r={title:n.info.title,version:n.info.version,key:n.info.key,assets:n.info.assets,description:n.info.description,rateLimit:n.rateLimit,concurrency:n.concurrency},a=La(n),o={baseUrl:n.baseUrl,authentication:Pa(a)},s=Ua(n,o);return r.operations=s,Fa(a,s,o),r.authentication=a,i(s)&&(r.categories=Ia(Object.values(s))),r}catch(e){throw Error(`Error parsing YAML file: ${e.message}`)}}const Pa=e=>{let t={};for(let[n,r]of Object.entries(e))if(r&&typeof r==`object`){let{setupFields:e,configFields:i,support:a,refreshAuthentication:o,testOperations:s,...c}=r;t[n]=Pa(c)}else t[n]=r;return t},Fa=(e,t,n)=>{if(!(!e||!t))for(let r of Object.values(e))for(let e of Object.values(r)){let r=e.testOperations;e.testOperations=r?.map(e=>{if(i(e.operation))if(typeof e.operation==`string`){let n=e.operation,r=Object.values(t).find(e=>e.id===n);if(r)return{...e,operation:r}}else{let t=Wa(e.operation,n);return{...e,operation:t}}return e})}},Ia=e=>{let t=e.reduce((e,t)=>{for(let n of t.categories)e.add(n);return e},new Set);return Array.from(t)},La=e=>{let t={};for(let n of e.authentication??[]){let[e]=Object.keys(n),r=n[e].environments.reduce((t,r)=>{let{key:a,name:o}=r,{environments:s,refreshAuthentication:c,testOperations:l,...u}=n[e],d=i(c)?{schedule:c.schedule,operation:Wa(c.operation)}:void 0;return t[a]={...u,refreshAuthentication:d,envKey:a,envName:o,testOperations:l},t},{});t[e]=r}return t},Ra=e=>e.entrypointUrl&&e.entrypointHttpMethod?`${e.entrypointHttpMethod.toUpperCase()} ${e.entrypointUrl}`:void 0,za=e=>e.operationType===`list`?`GET /${e.schema}`:`GET /${e.schema}/:id`,Ba=e=>{if(e.operationType!==`refresh_token`)return e.entrypointHttpMethod??`get`},Va=t=>{if(!(t.operationType===`refresh_token`||e(t.schema)))return t.operationType===`list`?`/${t.schema}`:`/${t.schema}/:id`},Ha=e=>{let t={success:Ca(e.operationType),errors:wa()},n=e.responses?.reduce((e,t)=>{let n=te(t.statusCode);return n?e.success={statusCode:t.statusCode,description:t.description}:e.errors[t.statusCode]={statusCode:t.statusCode,description:t.description},e},t);return n??t},Ua=(e,t)=>{let n=e.operations?.reduce((e,n)=>{let r=Ra(n),i=za(n);return e[r??i]=Wa(n,t),e},{});return n},Wa=(e,t)=>{let n=Va(e),r=Ha(e),i=Ja(e),a=e.inputs||[];i.enabled&&a?.push({type:`string`,name:`page_size`,in:`query`,required:!1,description:`Number of items to return per page`});let o=Ba(e);return{id:e.operationId,categories:e.categories,description:e.description,operationType:e.operationType,entrypointUrl:e.entrypointUrl??n,entrypointHttpMethod:o,responses:r,cursor:i,compositeIdentifiers:Ya(e),scheduledJobs:Xa(e),inputs:a,steps:e.steps.reduce((n,r)=>(n[r.stepId]={id:r.stepId,description:r.description,condition:r.condition,ignoreError:r.ignoreError,stepFunction:{functionName:r.stepFunction.functionName,version:r.stepFunction.version,params:{...r.stepFunction.parameters,...Za(r.stepFunction.functionName,t,r.stepFunction.parameters),...r.stepFunction.functionName===`map_fields`||r.stepFunction.functionName===`typecast`?{fields:r.stepFunction.parameters.fields??e.fieldConfigs}:{}}}},n),{}),result:e.result}},Ga=(e,t)=>{if(!e.inputs)return{};let n=qa(e.inputs),r=n.parse(t);return{...r.headers??{},...r.query??{},...r.path??{},...r.body??{}}},Ka=e=>{let t={};return e.forEach(e=>{let n;switch(e.type.toLowerCase()){case`string`:n=U();break;case`number`:n=K();break;case`boolean`:n=q();break;default:n=Ii()}t[e.name]=e.required?n:n.optional()}),Y(t)},qa=e=>{let t=e.filter(e=>e.in===`path`),n=e.filter(e=>e.in===`query`),r=e.filter(e=>e.in===`body`),i=e.filter(e=>e.in===`headers`);return Y({path:Ka(t).optional(),query:Ka(n).optional(),body:Ka(r).optional(),headers:Ka(i).optional()})},Ja=e=>{let t=e.operationType===`list`,n=e.cursor??{enabled:t,pageSize:Sa};return{enabled:n.enabled&&t,pageSize:n.pageSize}},Ya=t=>{if(t.operationType===`refresh_token`)return{enabled:!1};if(e(t.compositeIdentifiers)){let e=t.fieldConfigs?.find(e=>e.targetFieldKey===`id`),n=i(e)?[{targetFieldKey:e.targetFieldKey,remote:`id`,components:[{name:e.targetFieldKey,alias:e.alias}]}]:void 0;return{enabled:!0,version:d,fields:n}}let n=[];for(let e of t.compositeIdentifiers?.fields??[]){let r=e.components.map(e=>{let n=t.fieldConfigs?.find(t=>t.targetFieldKey===e);return{name:e,alias:n?.alias}});n.push({targetFieldKey:e.targetFieldKey,remote:e.remote,components:r})}return{enabled:t.compositeIdentifiers.enabled,version:t.compositeIdentifiers.version,fields:n.length>0?n:void 0}},Xa=t=>{if(!e(t.scheduledJobs))return t.scheduledJobs},Za=(e,t,n={})=>{if(e===`request`||e===`paginated_request`){let e=[{receivedStatus:500,targetStatus:502}],r=n.customErrors&&Array.isArray(n.customErrors)?n.customErrors:[],i=[...r,...e];return{...t,customErrors:i}}else return{}},Qa=(e,t,n)=>{if(e.authentication?.[t]?.[n]?.authorization.type!==`oauth2`)return;let r=e.authentication?.[t]?.[n]?.refreshAuthentication?.operation;if(i(r))return{operation:r,params:{}}},$a=(e,t,n)=>{if(e.authentication?.[t]?.[n]?.authorization.type!==`oauth2`)return!1;let r=Qa(e,t,n);return i(r)},eo=(e,t,n)=>{let r=e.authentication?.[t]?.[n]?.authorization;if(r?.type===`oauth2`)return r?.tokenExpiresIn},to=(e,t,n)=>{let r=e.authentication?.[t]?.[n]?.authorization;if(r?.type===`oauth2`)return r?.tokenRefreshExpiresIn},no=e=>{try{let t=[],n=S(e),r=Ma.safeParse(n);return r.success||r.error.issues.forEach(n=>{let r=ro(n.path,e);t.push({line:r,message:n.message,field:n.path.join(`.`)})}),t.length>0?{success:!1,errors:t}:{success:!0}}catch(e){let t=e.message,n=t.match(/at line (\d+)/),r=n?parseInt(n[1],10):1;return{success:!1,errors:[{line:r,message:`The YAML connector file is not valid. Please check the syntax and structure.`,field:void 0}]}}},ro=(t,n)=>{let r=n.split(`
30
- `),a=0,o=-1,s=0;for(let n=0;n<r.length;n++){let c=r[n],l=c.match(/^(\s*)/)?.[1]?.length||0,u=c.replace(`- `,``).trim();if(u.startsWith(`#`)||u===``||l<=o)continue;let d=i(t[a])?`${String(t[a])}`:``;if(e(d))return s+1;if(isNaN(Number(d))){if(u.startsWith(`${d}:`)){if(a===t.length-1)return n+1;o=l,s=n,a++}}else{let e=parseInt(d,10),t=-1;for(let i=n;i<r.length;i++){let o=r[i],c=o.trim();if(c.startsWith(`-`)&&t++,t===e){a++,s=n,n--;break}else n++}}}return s+1};var $=class e extends Error{errorType;context;constructor(t,n,r){super(r),this.name=`ConnectSDKError`,this.errorType=t,this.context=n,Error.captureStackTrace&&Error.captureStackTrace(this,e)}toString(){return`${this.name} [${this.errorType}]: ${this.message}`}},io=class extends ${constructor(e,t){super(`CONNECTOR_PARSE_ERROR`,e,t),this.name=`ConnectorParseError`}},ao=class extends ${constructor(e,t){super(`MISSING_OPERATION_ERROR`,e,t),this.name=`MissingOperationError`}},oo=class extends ${constructor(e,t){super(`INVALID_OPERATION_INPUTS_ERROR`,e,t),this.name=`InvalidOperationInputsError`}},so=class extends ${constructor(e,t){super(`INVALID_CURSOR_ERROR`,e,t),this.name=`InvalidCursorError`}};const co=e=>{let t=Object.keys(e.authentication??{}).map(t=>({type:`custom`,label:e.authentication?.[t].production?.label||`Custom`,key:t})),n=Object.values(e?.operations??{}).map(e=>({id:e.id,description:e.description.replace(/\b\w/g,e=>e.toUpperCase()),name:e.description.replace(/\b\w/g,e=>e.toUpperCase()),schema_type:`native`,authentication:t}));return{version:e.version,name:e.description,key:e.key,icon:e.assets?.icon,description:e.description,authentication:t,actions:n}},lo=e=>e.map(co),uo=`stackone://internal//`,fo=`${uo}refresh_token`,po=async({block:e,stepFunctionName:t,params:n,buildStepFunction:r=m.build})=>{let i=r({functionName:t}).fn,a=await i({block:e,params:n}),o=t===p.MAP_FIELDS?{[p.MAP_FIELDS.toString()]:{output:{data:a.block.result},errors:a.errors,successful:a.successful}}:{};return{...a.block,steps:{...a?.block?.steps??{},...o}}},mo=({category:e,connectorKey:t,connectorVersion:n,authConfigKey:r,environment:i=`production`,operation:a,accountSecureId:o,projectSecureId:s})=>({projectSecureId:s,accountSecureId:o,connectorKey:t,connectorVersion:n,category:e,service:``,resource:``,schema:a?.schema?.key,operationType:a?.operationType??`unknown`,authenticationType:r,environment:i}),ho=t=>{let n=t.operation?.compositeIdentifiers,r={...t.inputs??{}};if(!n?.enabled||e(r))return t;let i=n.fields?.reduce((e,t)=>(t.components.forEach(t=>{t.alias&&(e[t.name]=t.alias)}),e),{}),a={version:n.version??d,aliases:i};return go(r,a,t.logger),{...t,inputs:r}},go=(e,t,n)=>{for(let r in e){let i=e[r];if(typeof i==`string`||Array.isArray(i)&&i.every(e=>typeof e==`string`))So(i,r,e,t,n);else if(Array.isArray(i))for(let e of i)go(e,t,n);else typeof i==`object`&&i&&go(i,t,n)}},_o=(e,t,n,r)=>{let i=[],a=[];for(let o of e)try{let e=h(o,n);i.push(e)}catch(e){r?.debug({message:`Received ${t} with invalid composite ID, assuming it is not a composite ID`,category:`processCompositeId`,context:{key:t,inputElement:o,compositeIdentifierConfig:n,error:e}}),a.push(o)}return{compositeIdComponents:i,nonCompositeIds:a}},vo=(e,t,n,r)=>{let i=n.filter(e=>Object.keys(e).length>1);i.length>0&&(e.decoded_ids={...e.decoded_ids??{},[t]:r?i:i[0]})},yo=e=>{let t=Object.values(e);return t.length===1&&(typeof t[0]==`string`||typeof t[0]==`number`)},bo=(e,t,n,r,i)=>{n.every(yo)&&(i?e[t]=[...n.map(e=>Object.values(e)[0]),...r]:n.length>0&&(e[t]=Object.values(n[0])[0]))},xo=(e,t,n)=>{e instanceof f&&e.type===`COMPOSITE_ID_MISSING_HEADER_ERROR`?n?.debug({message:`Received ${t} with no composite ID header, assuming it is not a composite ID`}):n?.warning({message:`Error processing composite ID for ${t}, ignoring it`,error:e})},So=(e,t,n,r,i)=>{try{let a=Array.isArray(e),o=a?e:[e];if(o.length===0)return;let{compositeIdComponents:s,nonCompositeIds:c}=_o(o,t,r,i);vo(n,t,s,a),bo(n,t,s,c,a)}catch(e){xo(e,t,i)}},Co=`remote_`,wo=t=>{let n=t.operation?.compositeIdentifiers;if(!n?.enabled)return t;let r=`data`,i=t.outputs?.[r];if(e(i))return t;let a=Array.isArray(i)?i.map(e=>To(e,n)):To(i,n);return{...t,outputs:{...t.outputs??{},[r]:a}}},To=(e,t)=>{let r=Eo(e,t),i=Po(r);return{...e,...n(i)?i:{}}},Eo=(e,t)=>{let n=t.version??d,r={};return t.fields?.forEach(t=>{let i={},a=[];t.components.forEach(t=>{t.alias&&(i[t.name]=t.alias),a.push({key:t.name,value:e[t.name]})});let o=a.length===1?a[0]:{identifiers:a},s={version:n,aliases:Object.keys(i).length>0?i:void 0},c=g(o,s);r[t.targetFieldKey]=c,t.remote&&(r[`${Co}${t.remote}`]=e[t.remote])}),{...e,...r}},Do=e=>e===`id`||/.+_id(s)?$/.test(e),Oo=e=>Array.isArray(e)&&e.every(e=>r(e)&&e.length>0),ko=(e,t)=>ee(e)||t.startsWith(Co),Ao=(e,t)=>{try{return g({key:e,value:t},{version:d})}catch{return t}},jo=(e,t,n)=>{let i=t.map(t=>r(t)&&t.length>0&&!ee(t)?Ao(e,t):t);n[e]=i,n[`${Co}${e}`]=t},Mo=(e,t,n)=>{if(ko(t,e))return;let r=g({key:e,value:t},{version:d});n[e]=r,n[`remote_${e}`]=t},No=(e,t,n)=>{Oo(t)?jo(e,t,n):r(t)&&t.length>0&&Mo(e,t,n)},Po=e=>{if(Array.isArray(e))return e.map(e=>Po(e));if(!n(e))return e;let t={...e};for(let[r,i]of Object.entries(e))(n(i)||Array.isArray(i)&&i.length>0&&n(i[0]))&&(t[r]=Po(i)),Do(r)&&No(r,i,t);return t},Fo=(e,n)=>{let r=Number(e.inputs?.page_size),a=i(e.inputs?.page_size)&&t(r)&&!Number.isNaN(r)?r:e.operation?.cursor?.pageSize??n;return a},Io=(t,r,a,o)=>{let s=e(t)?void 0:t.data,c=Object.keys(a).length+1,l=v({cursor:o,ignoreStepIndex:c});if(!n(t)||e(s)||(s?.length??0)<=r)return{result:t,next:i(o)&&!l?y(o):null};let u=o?.remote?.[c]?.pageNumber??1,d=(u-1)*r,f=d+r,p=s.slice(d,f),m=s.length>f||!l,h=b({cursor:o,stepIndex:c,pageNumber:u+1});return{result:{...t,data:p},next:m?y(h):null}},Lo=async({block:e,buildStepFunction:t=m.build,virtualPaginateResultFn:n=Io,encodeResultCompositeIds:r=wo,decodeInputCompositeIds:i=ho})=>{let a=i(e),o=await Uo({block:a,buildStepFunction:t,virtualPaginateResultFn:n});return r(o)},Ro=(e,t)=>e.condition?!C(e.condition,t):!1,zo=(e,t,n)=>{let r=e.stepFunction;return t.operation?.cursor.enabled?{...r.params??{},cursor:{token:t.nextCursor?.remote?.[n]?.providerPageCursor,position:t.nextCursor?.remote?.[n]?.position}}:r.params??{}},Bo=(e,t,n,r,i)=>{let a=Go({block:e,stepId:t,successful:!1,functionOutput:n}),o=r.ignoreError??!1;return o||(i.hasFatalError=!0,i.errorStatusCode??=n.output?.statusCode??500),a},Vo=async(e,t,n,r,i,a)=>{let o=n[e],s=o.stepFunction,c=a.buildStepFunction({functionName:s.functionName,version:s.version,validateSchemas:!0}).fn;if(Ro(o,r))return Go({block:r,stepId:e,successful:!0,skipped:!0,message:`Step skipped due to condition not met.`});if(i.hasFatalError)return Go({block:r,stepId:e,successful:!1,skipped:!0,message:`Step skipped due to previous error.`});let l=zo(o,r,t),u=await c({block:r,params:l});if(u.successful===!1)return Bo(r,e,u,o,i);let d=r.operation?.cursor.enabled?b({cursor:r.nextCursor,stepIndex:t,providerPageCursor:u.output?.next,position:u.output?.position}):void 0;return Go({block:{...u.block,nextCursor:d},stepId:e,functionOutput:u})},Ho=(e,t,r,a,o)=>{let s=!r.hasFatalError,c=s?e.operation?.responses.success.statusCode??200:r.errorStatusCode??500,l=i(o)&&n(o.result)?{next:o.next,...o.result}:a;return{...t,outputs:l,response:{successful:s,statusCode:c,message:s?void 0:e.operation?.responses?.errors?.[c]?.description??x?.[c]??`Error while processing the request`}}},Uo=async({block:e,buildStepFunction:t=m.build,virtualPaginateResultFn:n=Io})=>{let r=e.operation?.steps||{},i={...e},a=Object.keys(r),o=Fo(e,Sa),s={hasFatalError:!1,errorStatusCode:null},c={block:e,buildStepFunction:t,virtualPaginateResultFn:n};for(let[e,t]of a.entries())i=await Vo(t,e,r,i,s,c);let l=e.operation?.result?Wo(e.operation.result,i):void 0,u=e.operation?.cursor.enabled?n(l,o,r,i.nextCursor):void 0;return Ho(e,i,s,l,u)},Wo=(e,t)=>n(e)?w(e,t):C(e,t),Go=({block:e,stepId:t,successful:n,functionOutput:r,skipped:i,message:a})=>({...e,steps:{...e.steps,[t]:{successful:n??r?.successful??!1,errors:r?.errors,output:r?.output,skipped:i,message:a}}}),Ko=async({operationId:t,account:n,connector:i,queryParams:a={},body:o,headers:s,logger:c,getHttpClient:l,parseConnector:u=Na,parseOperationInputsFn:d=Ga,createBlockContextFn:f=mo,createBlockFn:p=ne,runStepOperationFn:m=Lo})=>{let h=n.authConfigKey,g=n.environment??`production`,_=n.secureId,ee=n.projectSecureId,v=n.credentials,y=f({category:`action`,connectorKey:n.providerKey,connectorVersion:n.providerVersion,authConfigKey:h,environment:g,accountSecureId:_,projectSecureId:ee}),b;try{b=r(i)?u(i):i}catch{throw new io(y,`Error while parsing connector`)}let x=ue(i,t);if(e(x))throw new ao(y,`No matching operation found`);y.operationType=x.operationType,y.schema=x.schema?.key;let te=qo(a,y),S;try{S=d(x,{query:a,body:o,headers:s})}catch{throw new oo(y,`Error while parsing operation inputs`)}let C=await p({connector:b,inputs:S,context:y,operation:x,credentials:v,nextCursor:te,logger:c,getHttpClient:l});return await m({block:C})},qo=(e,t)=>{let n=e?.next,r=i(n)&&t.operationType===`list`?_(n):void 0;if(r===null)throw new so(t,`Invalid cursor.`);return r},Jo=async({account:t,connector:n,category:i,path:a,method:o=`get`,queryParams:s={},body:c,headers:l,logger:u,getHttpClient:d,parseConnector:f=Na,getOperationFromUrlFn:p=se,getOperationForRefreshAuthenticationFn:m=Qa,parseOperationInputsFn:h=Ga,createBlockContextFn:g=mo,createBlockFn:_=ne,runStepOperationFn:ee=Lo})=>{let v=t.authConfigKey,y=t.environment??`production`,b=t.secureId,x=t.projectSecureId,te=t.credentials,S=g({category:i,connectorKey:t.providerKey,connectorVersion:t.providerVersion,authConfigKey:v,environment:y,accountSecureId:b,projectSecureId:x}),C;try{C=r(n)?f(n):n}catch{throw new io(S,`Error while parsing connector`)}let w=Xo(a)?m(C,v,y):p(C,a,o);if(e(w))throw new ao(S,`No matching operation found`);S.operationType=w.operation.operationType,S.schema=w.operation.schema?.key;let re=Yo(s,S),ie;try{ie=h(w.operation,{query:s,body:c,headers:l,path:w.params})}catch{throw new oo(S,`Error while parsing operation inputs`)}let ae=await _({connector:C,inputs:ie,context:S,operation:w.operation,credentials:te,nextCursor:re,logger:u,getHttpClient:d});return await ee({block:ae})},Yo=(e,t)=>{let n=e?.next,r=i(n)&&t.operationType===`list`?_(n):void 0;if(r===null)throw new so(t,`Invalid cursor.`);return r},Xo=e=>e===fo;export{$ as ConnectSDKError,fo as REFRESH_TOKEN_OPERATION_PATH,co as buildActionsMetaFromConfig,ne as createBlock,po as executeStepFunction,lo as getActionsMetaFromConfigs,se as getOperationFromUrl,to as getRefreshTokenExpiresIn,eo as getTokenExpiresIn,re as loadConnector,Ga as parseOperationInputs,Na as parseYamlConnector,Ko as runConnectorAction,Jo as runConnectorOperation,Lo as runStepOperation,$a as supportsRefreshAuthentication,no as validateYamlConnector};
30
+ `),a=0,o=-1,s=0;for(let n=0;n<r.length;n++){let c=r[n],l=c.match(/^(\s*)/)?.[1]?.length||0,u=c.replace(`- `,``).trim();if(u.startsWith(`#`)||u===``||l<=o)continue;let d=i(t[a])?`${String(t[a])}`:``;if(e(d))return s+1;if(isNaN(Number(d))){if(u.startsWith(`${d}:`)){if(a===t.length-1)return n+1;o=l,s=n,a++}}else{let e=parseInt(d,10),t=-1;for(let i=n;i<r.length;i++){let o=r[i],c=o.trim();if(c.startsWith(`-`)&&t++,t===e){a++,s=n,n--;break}else n++}}}return s+1};var $=class e extends Error{errorType;context;constructor(t,n,r){super(r),this.name=`ConnectSDKError`,this.errorType=t,this.context=n,Error.captureStackTrace&&Error.captureStackTrace(this,e)}toString(){return`${this.name} [${this.errorType}]: ${this.message}`}},io=class extends ${constructor(e,t){super(`CONNECTOR_PARSE_ERROR`,e,t),this.name=`ConnectorParseError`}},ao=class extends ${constructor(e,t){super(`MISSING_OPERATION_ERROR`,e,t),this.name=`MissingOperationError`}},oo=class extends ${constructor(e,t){super(`INVALID_OPERATION_INPUTS_ERROR`,e,t),this.name=`InvalidOperationInputsError`}},so=class extends ${constructor(e,t){super(`INVALID_CURSOR_ERROR`,e,t),this.name=`InvalidCursorError`}};const co=(e,t)=>{let n=Object.keys(e.authentication??{}).map(t=>({type:`custom`,label:e.authentication?.[t].production?.label||`Custom`,key:t})),r=Object.values(e?.operations??{}).map(e=>({id:e.id,description:e.description.replace(/\b\w/g,e=>e.toUpperCase()),name:e.description.replace(/\b\w/g,e=>e.toUpperCase()),schema_type:`native`,authentication:n,operation_details:t?.includes(`operation_details`)?e:void 0}));return{version:e.version,name:e.description,key:e.key,icon:e.assets?.icon,description:e.description,authentication:n,actions:r}},lo=(e,t)=>e.map(e=>co(e,t)),uo=`stackone://internal//`,fo=`${uo}refresh_token`,po=async({block:e,stepFunctionName:t,params:n,buildStepFunction:r=m.build})=>{let i=r({functionName:t}).fn,a=await i({block:e,params:n}),o=t===p.MAP_FIELDS?{[p.MAP_FIELDS.toString()]:{output:{data:a.block.result},errors:a.errors,successful:a.successful}}:{};return{...a.block,steps:{...a?.block?.steps??{},...o}}},mo=({category:e,connectorKey:t,connectorVersion:n,authConfigKey:r,environment:i=`production`,operation:a,accountSecureId:o,projectSecureId:s})=>({projectSecureId:s,accountSecureId:o,connectorKey:t,connectorVersion:n,category:e,service:``,resource:``,schema:a?.schema?.key,operationType:a?.operationType??`unknown`,authenticationType:r,environment:i}),ho=t=>{let n=t.operation?.compositeIdentifiers,r={...t.inputs??{}};if(!n?.enabled||e(r))return t;let i=n.fields?.reduce((e,t)=>(t.components.forEach(t=>{t.alias&&(e[t.name]=t.alias)}),e),{}),a={version:n.version??d,aliases:i};return go(r,a,t.logger),{...t,inputs:r}},go=(e,t,n)=>{for(let r in e){let i=e[r];if(typeof i==`string`||Array.isArray(i)&&i.every(e=>typeof e==`string`))So(i,r,e,t,n);else if(Array.isArray(i))for(let e of i)go(e,t,n);else typeof i==`object`&&i&&go(i,t,n)}},_o=(e,t,n,r)=>{let i=[],a=[];for(let o of e)try{let e=h(o,n);i.push(e)}catch(e){r?.debug({message:`Received ${t} with invalid composite ID, assuming it is not a composite ID`,category:`processCompositeId`,context:{key:t,inputElement:o,compositeIdentifierConfig:n,error:e}}),a.push(o)}return{compositeIdComponents:i,nonCompositeIds:a}},vo=(e,t,n,r)=>{let i=n.filter(e=>Object.keys(e).length>1);i.length>0&&(e.decoded_ids={...e.decoded_ids??{},[t]:r?i:i[0]})},yo=e=>{let t=Object.values(e);return t.length===1&&(typeof t[0]==`string`||typeof t[0]==`number`)},bo=(e,t,n,r,i)=>{n.every(yo)&&(i?e[t]=[...n.map(e=>Object.values(e)[0]),...r]:n.length>0&&(e[t]=Object.values(n[0])[0]))},xo=(e,t,n)=>{e instanceof f&&e.type===`COMPOSITE_ID_MISSING_HEADER_ERROR`?n?.debug({message:`Received ${t} with no composite ID header, assuming it is not a composite ID`}):n?.warning({message:`Error processing composite ID for ${t}, ignoring it`,error:e})},So=(e,t,n,r,i)=>{try{let a=Array.isArray(e),o=a?e:[e];if(o.length===0)return;let{compositeIdComponents:s,nonCompositeIds:c}=_o(o,t,r,i);vo(n,t,s,a),bo(n,t,s,c,a)}catch(e){xo(e,t,i)}},Co=`remote_`,wo=t=>{let n=t.operation?.compositeIdentifiers;if(!n?.enabled)return t;let r=`data`,i=t.outputs?.[r];if(e(i))return t;let a=Array.isArray(i)?i.map(e=>To(e,n)):To(i,n);return{...t,outputs:{...t.outputs??{},[r]:a}}},To=(e,t)=>{let r=Eo(e,t),i=Po(r);return{...e,...n(i)?i:{}}},Eo=(e,t)=>{let n=t.version??d,r={};return t.fields?.forEach(t=>{let i={},a=[];t.components.forEach(t=>{t.alias&&(i[t.name]=t.alias),a.push({key:t.name,value:e[t.name]})});let o=a.length===1?a[0]:{identifiers:a},s={version:n,aliases:Object.keys(i).length>0?i:void 0},c=g(o,s);r[t.targetFieldKey]=c,t.remote&&(r[`${Co}${t.remote}`]=e[t.remote])}),{...e,...r}},Do=e=>e===`id`||/.+_id(s)?$/.test(e),Oo=e=>Array.isArray(e)&&e.every(e=>r(e)&&e.length>0),ko=(e,t)=>ee(e)||t.startsWith(Co),Ao=(e,t)=>{try{return g({key:e,value:t},{version:d})}catch{return t}},jo=(e,t,n)=>{let i=t.map(t=>r(t)&&t.length>0&&!ee(t)?Ao(e,t):t);n[e]=i,n[`${Co}${e}`]=t},Mo=(e,t,n)=>{if(ko(t,e))return;let r=g({key:e,value:t},{version:d});n[e]=r,n[`remote_${e}`]=t},No=(e,t,n)=>{Oo(t)?jo(e,t,n):r(t)&&t.length>0&&Mo(e,t,n)},Po=e=>{if(Array.isArray(e))return e.map(e=>Po(e));if(!n(e))return e;let t={...e};for(let[r,i]of Object.entries(e))(n(i)||Array.isArray(i)&&i.length>0&&n(i[0]))&&(t[r]=Po(i)),Do(r)&&No(r,i,t);return t},Fo=(e,n)=>{let r=Number(e.inputs?.page_size),a=i(e.inputs?.page_size)&&t(r)&&!Number.isNaN(r)?r:e.operation?.cursor?.pageSize??n;return a},Io=(t,r,a,o)=>{let s=e(t)?void 0:t.data,c=Object.keys(a).length+1,l=v({cursor:o,ignoreStepIndex:c});if(!n(t)||e(s)||(s?.length??0)<=r)return{result:t,next:i(o)&&!l?y(o):null};let u=o?.remote?.[c]?.pageNumber??1,d=(u-1)*r,f=d+r,p=s.slice(d,f),m=s.length>f||!l,h=b({cursor:o,stepIndex:c,pageNumber:u+1});return{result:{...t,data:p},next:m?y(h):null}},Lo=async({block:e,buildStepFunction:t=m.build,virtualPaginateResultFn:n=Io,encodeResultCompositeIds:r=wo,decodeInputCompositeIds:i=ho})=>{let a=i(e),o=await Uo({block:a,buildStepFunction:t,virtualPaginateResultFn:n});return r(o)},Ro=(e,t)=>e.condition?!C(e.condition,t):!1,zo=(e,t,n)=>{let r=e.stepFunction;return t.operation?.cursor.enabled?{...r.params??{},cursor:{token:t.nextCursor?.remote?.[n]?.providerPageCursor,position:t.nextCursor?.remote?.[n]?.position}}:r.params??{}},Bo=(e,t,n,r,i)=>{let a=Go({block:e,stepId:t,successful:!1,functionOutput:n}),o=r.ignoreError??!1;return o||(i.hasFatalError=!0,i.errorStatusCode??=n.output?.statusCode??500),a},Vo=async(e,t,n,r,i,a)=>{let o=n[e],s=o.stepFunction,c=a.buildStepFunction({functionName:s.functionName,version:s.version,validateSchemas:!0}).fn;if(Ro(o,r))return Go({block:r,stepId:e,successful:!0,skipped:!0,message:`Step skipped due to condition not met.`});if(i.hasFatalError)return Go({block:r,stepId:e,successful:!1,skipped:!0,message:`Step skipped due to previous error.`});let l=zo(o,r,t),u=await c({block:r,params:l});if(u.successful===!1)return Bo(r,e,u,o,i);let d=r.operation?.cursor.enabled?b({cursor:r.nextCursor,stepIndex:t,providerPageCursor:u.output?.next,position:u.output?.position}):void 0;return Go({block:{...u.block,nextCursor:d},stepId:e,functionOutput:u})},Ho=(e,t,r,a,o)=>{let s=!r.hasFatalError,c=s?e.operation?.responses.success.statusCode??200:r.errorStatusCode??500,l=i(o)&&n(o.result)?{next:o.next,...o.result}:a;return{...t,outputs:l,response:{successful:s,statusCode:c,message:s?void 0:e.operation?.responses?.errors?.[c]?.description??x?.[c]??`Error while processing the request`}}},Uo=async({block:e,buildStepFunction:t=m.build,virtualPaginateResultFn:n=Io})=>{let r=e.operation?.steps||{},i={...e},a=Object.keys(r),o=Fo(e,Sa),s={hasFatalError:!1,errorStatusCode:null},c={block:e,buildStepFunction:t,virtualPaginateResultFn:n};for(let[e,t]of a.entries())i=await Vo(t,e,r,i,s,c);let l=e.operation?.result?Wo(e.operation.result,i):void 0,u=e.operation?.cursor.enabled?n(l,o,r,i.nextCursor):void 0;return Ho(e,i,s,l,u)},Wo=(e,t)=>n(e)?w(e,t):C(e,t),Go=({block:e,stepId:t,successful:n,functionOutput:r,skipped:i,message:a})=>({...e,steps:{...e.steps,[t]:{successful:n??r?.successful??!1,errors:r?.errors,output:r?.output,skipped:i,message:a}}}),Ko=async({operationId:t,account:n,connector:i,queryParams:a={},body:o,headers:s,logger:c,getHttpClient:l,parseConnector:u=Na,parseOperationInputsFn:d=Ga,createBlockContextFn:f=mo,createBlockFn:p=ne,runStepOperationFn:m=Lo})=>{let h=n.authConfigKey,g=n.environment??`production`,_=n.secureId,ee=n.projectSecureId,v=n.credentials,y=f({category:`action`,connectorKey:n.providerKey,connectorVersion:n.providerVersion,authConfigKey:h,environment:g,accountSecureId:_,projectSecureId:ee}),b;try{b=r(i)?u(i):i}catch{throw new io(y,`Error while parsing connector`)}let x=ue(i,t);if(e(x))throw new ao(y,`No matching operation found`);y.operationType=x.operationType,y.schema=x.schema?.key;let te=qo(a,y),S;try{S=d(x,{query:a,body:o,headers:s})}catch{throw new oo(y,`Error while parsing operation inputs`)}let C=await p({connector:b,inputs:S,context:y,operation:x,credentials:v,nextCursor:te,logger:c,getHttpClient:l});return await m({block:C})},qo=(e,t)=>{let n=e?.next,r=i(n)&&t.operationType===`list`?_(n):void 0;if(r===null)throw new so(t,`Invalid cursor.`);return r},Jo=async({account:t,connector:n,category:i,path:a,method:o=`get`,queryParams:s={},body:c,headers:l,logger:u,getHttpClient:d,parseConnector:f=Na,getOperationFromUrlFn:p=se,getOperationForRefreshAuthenticationFn:m=Qa,parseOperationInputsFn:h=Ga,createBlockContextFn:g=mo,createBlockFn:_=ne,runStepOperationFn:ee=Lo})=>{let v=t.authConfigKey,y=t.environment??`production`,b=t.secureId,x=t.projectSecureId,te=t.credentials,S=g({category:i,connectorKey:t.providerKey,connectorVersion:t.providerVersion,authConfigKey:v,environment:y,accountSecureId:b,projectSecureId:x}),C;try{C=r(n)?f(n):n}catch{throw new io(S,`Error while parsing connector`)}let w=Xo(a)?m(C,v,y):p(C,a,o);if(e(w))throw new ao(S,`No matching operation found`);S.operationType=w.operation.operationType,S.schema=w.operation.schema?.key;let re=Yo(s,S),ie;try{ie=h(w.operation,{query:s,body:c,headers:l,path:w.params})}catch{throw new oo(S,`Error while parsing operation inputs`)}let ae=await _({connector:C,inputs:ie,context:S,operation:w.operation,credentials:te,nextCursor:re,logger:u,getHttpClient:d});return await ee({block:ae})},Yo=(e,t)=>{let n=e?.next,r=i(n)&&t.operationType===`list`?_(n):void 0;if(r===null)throw new so(t,`Invalid cursor.`);return r},Xo=e=>e===fo;export{$ as ConnectSDKError,fo as REFRESH_TOKEN_OPERATION_PATH,co as buildActionsMetaFromConfig,ne as createBlock,po as executeStepFunction,lo as getActionsMetaFromConfigs,se as getOperationFromUrl,to as getRefreshTokenExpiresIn,eo as getTokenExpiresIn,re as loadConnector,Ga as parseOperationInputs,Na as parseYamlConnector,Ko as runConnectorAction,Jo as runConnectorOperation,Lo as runStepOperation,$a as supportsRefreshAuthentication,no as validateYamlConnector};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackone/connect-sdk",
3
- "version": "1.49.1",
3
+ "version": "1.50.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",