@stackone/connect-sdk 1.46.0 → 1.48.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 +14 -9
- package/dist/index.d.ts +14 -9
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -434,7 +434,7 @@ type TestOperationConfig = {
|
|
|
434
434
|
condition?: string;
|
|
435
435
|
required: boolean;
|
|
436
436
|
};
|
|
437
|
-
type AuthenticationConfig = {
|
|
437
|
+
type AuthenticationConfig$1 = {
|
|
438
438
|
envKey: string;
|
|
439
439
|
envName: string;
|
|
440
440
|
type: 'custom' | 'oauth2';
|
|
@@ -454,8 +454,8 @@ type AuthenticationConfig = {
|
|
|
454
454
|
};
|
|
455
455
|
type Authentication = {
|
|
456
456
|
[authType: string]: {
|
|
457
|
-
production: AuthenticationConfig;
|
|
458
|
-
[envKey: string]: AuthenticationConfig;
|
|
457
|
+
production: AuthenticationConfig$1;
|
|
458
|
+
[envKey: string]: AuthenticationConfig$1;
|
|
459
459
|
};
|
|
460
460
|
};
|
|
461
461
|
//#endregion
|
|
@@ -640,19 +640,24 @@ interface Config {
|
|
|
640
640
|
authentication?: Record<string, ConfigAuthentication>;
|
|
641
641
|
operations?: Record<string, ConfigOperation>;
|
|
642
642
|
}
|
|
643
|
+
type AuthenticationConfig = {
|
|
644
|
+
type: string;
|
|
645
|
+
label: string;
|
|
646
|
+
key: string;
|
|
647
|
+
};
|
|
643
648
|
type ConfigMeta = {
|
|
644
649
|
version: string;
|
|
650
|
+
name: string;
|
|
645
651
|
key: string;
|
|
646
652
|
icon?: string;
|
|
647
653
|
description: string;
|
|
648
|
-
authentication:
|
|
649
|
-
type: string;
|
|
650
|
-
label: string;
|
|
651
|
-
key: string;
|
|
652
|
-
}[];
|
|
654
|
+
authentication: AuthenticationConfig[];
|
|
653
655
|
actions: {
|
|
654
656
|
id: string;
|
|
657
|
+
name: string;
|
|
655
658
|
description: string;
|
|
659
|
+
schema_type: string;
|
|
660
|
+
authentication: AuthenticationConfig[];
|
|
656
661
|
}[];
|
|
657
662
|
};
|
|
658
663
|
//#endregion
|
|
@@ -765,4 +770,4 @@ declare const runConnectorOperation: ({
|
|
|
765
770
|
runStepOperationFn?: typeof runStepOperation;
|
|
766
771
|
}) => Promise<Block>;
|
|
767
772
|
//#endregion
|
|
768
|
-
export { type ConfigMeta, ConnectSDKError, type ErrorType, REFRESH_TOKEN_OPERATION_PATH, buildActionsMetaFromConfig, createBlock, executeStepFunction, getActionsMetaFromConfigs, getOperationFromUrl, getRefreshTokenExpiresIn, getTokenExpiresIn, loadConnector, parseOperationInputs, parseYamlConnector, runConnectorOperation, runStepOperation, supportsRefreshAuthentication, validateYamlConnector };
|
|
773
|
+
export { type Config, type ConfigMeta, ConnectSDKError, type ErrorType, REFRESH_TOKEN_OPERATION_PATH, buildActionsMetaFromConfig, createBlock, executeStepFunction, getActionsMetaFromConfigs, getOperationFromUrl, getRefreshTokenExpiresIn, getTokenExpiresIn, loadConnector, parseOperationInputs, parseYamlConnector, runConnectorOperation, runStepOperation, supportsRefreshAuthentication, validateYamlConnector };
|
package/dist/index.d.ts
CHANGED
|
@@ -434,7 +434,7 @@ type TestOperationConfig = {
|
|
|
434
434
|
condition?: string;
|
|
435
435
|
required: boolean;
|
|
436
436
|
};
|
|
437
|
-
type AuthenticationConfig = {
|
|
437
|
+
type AuthenticationConfig$1 = {
|
|
438
438
|
envKey: string;
|
|
439
439
|
envName: string;
|
|
440
440
|
type: 'custom' | 'oauth2';
|
|
@@ -454,8 +454,8 @@ type AuthenticationConfig = {
|
|
|
454
454
|
};
|
|
455
455
|
type Authentication = {
|
|
456
456
|
[authType: string]: {
|
|
457
|
-
production: AuthenticationConfig;
|
|
458
|
-
[envKey: string]: AuthenticationConfig;
|
|
457
|
+
production: AuthenticationConfig$1;
|
|
458
|
+
[envKey: string]: AuthenticationConfig$1;
|
|
459
459
|
};
|
|
460
460
|
};
|
|
461
461
|
//#endregion
|
|
@@ -640,19 +640,24 @@ interface Config {
|
|
|
640
640
|
authentication?: Record<string, ConfigAuthentication>;
|
|
641
641
|
operations?: Record<string, ConfigOperation>;
|
|
642
642
|
}
|
|
643
|
+
type AuthenticationConfig = {
|
|
644
|
+
type: string;
|
|
645
|
+
label: string;
|
|
646
|
+
key: string;
|
|
647
|
+
};
|
|
643
648
|
type ConfigMeta = {
|
|
644
649
|
version: string;
|
|
650
|
+
name: string;
|
|
645
651
|
key: string;
|
|
646
652
|
icon?: string;
|
|
647
653
|
description: string;
|
|
648
|
-
authentication:
|
|
649
|
-
type: string;
|
|
650
|
-
label: string;
|
|
651
|
-
key: string;
|
|
652
|
-
}[];
|
|
654
|
+
authentication: AuthenticationConfig[];
|
|
653
655
|
actions: {
|
|
654
656
|
id: string;
|
|
657
|
+
name: string;
|
|
655
658
|
description: string;
|
|
659
|
+
schema_type: string;
|
|
660
|
+
authentication: AuthenticationConfig[];
|
|
656
661
|
}[];
|
|
657
662
|
};
|
|
658
663
|
//#endregion
|
|
@@ -765,4 +770,4 @@ declare const runConnectorOperation: ({
|
|
|
765
770
|
runStepOperationFn?: typeof runStepOperation;
|
|
766
771
|
}) => Promise<Block>;
|
|
767
772
|
//#endregion
|
|
768
|
-
export { type ConfigMeta, ConnectSDKError, type ErrorType, REFRESH_TOKEN_OPERATION_PATH, buildActionsMetaFromConfig, createBlock, executeStepFunction, getActionsMetaFromConfigs, getOperationFromUrl, getRefreshTokenExpiresIn, getTokenExpiresIn, loadConnector, parseOperationInputs, parseYamlConnector, runConnectorOperation, runStepOperation, supportsRefreshAuthentication, validateYamlConnector };
|
|
773
|
+
export { type Config, type ConfigMeta, ConnectSDKError, type ErrorType, REFRESH_TOKEN_OPERATION_PATH, buildActionsMetaFromConfig, createBlock, executeStepFunction, getActionsMetaFromConfigs, getOperationFromUrl, getRefreshTokenExpiresIn, getTokenExpiresIn, loadConnector, parseOperationInputs, parseYamlConnector, runConnectorOperation, runStepOperation, supportsRefreshAuthentication, validateYamlConnector };
|
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 ? [${x(e)}, ...iss.path] : [${x(e)}]
|
|
29
29
|
})));`),t.write(`newResult[${x(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=S,o=!v.jitless,s=ve,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?yn(e,s,t,f):F(e,s,t))):i?yn(r,s,t,f):F(r,s,t)}}if(!l)return p.length?Promise.all(p).then(()=>s):s;let m=[],h=u.keySet,ee=l._zod,te=ee.def.type;for(let e of Object.keys(f)){if(h.has(e))continue;if(te===`never`){m.push(e);continue}let t=ee.run({value:f[e],issues:[]},d);t instanceof Promise?p.push(t.then(t=>F(t,s,e))):F(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 xn(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=>O(e,r,y())))}),t}const Sn=g(`$ZodUnion`,(e,t)=>{N.init(e,t),b(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),b(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),b(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),b(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=>me(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=>xn(t,n,e,r)):xn(a,n,e,r)}}),Cn=g(`$ZodDiscriminatedUnion`,(e,t)=>{Sn.init(e,t);let n=e._zod.parse;b(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=fe(()=>{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(!S(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)}}),wn=g(`$ZodIntersection`,(e,t)=>{N.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])=>En(e,t,n)):En(e,i,a)}});function Tn(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ye(e)&&ye(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=Tn(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=Tn(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 En(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),E(e))return e;let r=Tn(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const Dn=g(`$ZodRecord`,(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!ye(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(...D(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...D(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=>O(e,r,y())),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(...D(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...D(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),On=g(`$ZodEnum`,(e,t)=>{N.init(e,t);let n=ue(t.entries);e._zod.values=new Set(n),e._zod.pattern=RegExp(`^(${n.filter(e=>be.has(typeof e)).map(e=>typeof e==`string`?C(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}}),kn=g(`$ZodLiteral`,(e,t)=>{N.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?C(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}}),An=g(`$ZodTransform`,(e,t)=>{N.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 _;return e.value=r,e}}),jn=g(`$ZodOptional`,(e,t)=>{N.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,b(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),b(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${me(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)}),Mn=g(`$ZodNullable`,(e,t)=>{N.init(e,t),b(e._zod,`optin`,()=>t.innerType._zod.optin),b(e._zod,`optout`,()=>t.innerType._zod.optout),b(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${me(e.source)}|null)$`):void 0}),b(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)}),Nn=g(`$ZodDefault`,(e,t)=>{N.init(e,t),e._zod.optin=`optional`,b(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=>Pn(e,t)):Pn(r,t)}});function Pn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Fn=g(`$ZodPrefault`,(e,t)=>{N.init(e,t),e._zod.optin=`optional`,b(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))}),In=g(`$ZodNonOptional`,(e,t)=>{N.init(e,t),b(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=>Ln(t,e)):Ln(i,e)}});function Ln(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 Rn=g(`$ZodCatch`,(e,t)=>{N.init(e,t),e._zod.optin=`optional`,b(e._zod,`optout`,()=>t.innerType._zod.optout),b(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=>O(e,n,y()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>O(e,n,y()))},input:e.value}),e.issues=[]),e)}}),zn=g(`$ZodPipe`,(e,t)=>{N.init(e,t),b(e._zod,`values`,()=>t.in._zod.values),b(e._zod,`optin`,()=>t.in._zod.optin),b(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=>Bn(e,t,n)):Bn(r,t,n)}});function Bn(e,t,n){return E(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}const Vn=g(`$ZodReadonly`,(e,t)=>{N.init(e,t),b(e._zod,`propValues`,()=>t.innerType._zod.propValues),b(e._zod,`values`,()=>t.innerType._zod.values),b(e._zod,`optin`,()=>t.innerType._zod.optin),b(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(Hn):Hn(r)}});function Hn(e){return e.value=Object.freeze(e.value),e}const Un=g(`$ZodLazy`,(e,t)=>{N.init(e,t),b(e._zod,`innerType`,()=>t.getter()),b(e._zod,`pattern`,()=>e._zod.innerType._zod.pattern),b(e._zod,`propValues`,()=>e._zod.innerType._zod.propValues),b(e._zod,`optin`,()=>e._zod.innerType._zod.optin),b(e._zod,`optout`,()=>e._zod.innerType._zod.optout),e._zod.parse=(t,n)=>{let r=e._zod.innerType;return r._zod.run(t,n)}}),Wn=g(`$ZodCustom`,(e,t)=>{j.init(e,t),N.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=>Gn(t,n,r,e));Gn(i,n,r,e)}});function Gn(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(k(e))}}const Kn=Symbol(`ZodOutput`),qn=Symbol(`ZodInput`);var Jn=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 Yn(){return new Jn}const I=Yn();function Xn(e,t){return new e({type:`string`,...T(t)})}function Zn(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...T(t)})}function Qn(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...T(t)})}function $n(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...T(t)})}function er(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...T(t)})}function tr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...T(t)})}function nr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...T(t)})}function rr(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...T(t)})}function ir(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...T(t)})}function ar(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...T(t)})}function or(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...T(t)})}function sr(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...T(t)})}function cr(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...T(t)})}function lr(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...T(t)})}function ur(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...T(t)})}function dr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...T(t)})}function fr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...T(t)})}function pr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...T(t)})}function mr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...T(t)})}function hr(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...T(t)})}function gr(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...T(t)})}function _r(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...T(t)})}function vr(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...T(t)})}function yr(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...T(t)})}function br(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...T(t)})}function xr(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...T(t)})}function Sr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...T(t)})}function Cr(e,t){return new e({type:`number`,checks:[],...T(t)})}function wr(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...T(t)})}function Tr(e,t){return new e({type:`boolean`,...T(t)})}function Er(e){return new e({type:`any`})}function Dr(e){return new e({type:`unknown`})}function Or(e,t){return new e({type:`never`,...T(t)})}function kr(e,t){return new xt({check:`less_than`,...T(t),value:e,inclusive:!1})}function Ar(e,t){return new xt({check:`less_than`,...T(t),value:e,inclusive:!0})}function jr(e,t){return new St({check:`greater_than`,...T(t),value:e,inclusive:!1})}function Mr(e,t){return new St({check:`greater_than`,...T(t),value:e,inclusive:!0})}function Nr(e,t){return new Ct({check:`multiple_of`,...T(t),value:e})}function Pr(e,t){let n=new Tt({check:`max_length`,...T(t),maximum:e});return n}function L(e,t){return new Et({check:`min_length`,...T(t),minimum:e})}function Fr(e,t){return new Dt({check:`length_equals`,...T(t),length:e})}function Ir(e,t){return new Ot({check:`string_format`,format:`regex`,...T(t),pattern:e})}function Lr(e){return new kt({check:`string_format`,format:`lowercase`,...T(e)})}function Rr(e){return new At({check:`string_format`,format:`uppercase`,...T(e)})}function zr(e,t){return new jt({check:`string_format`,format:`includes`,...T(t),includes:e})}function Br(e,t){return new Mt({check:`string_format`,format:`starts_with`,...T(t),prefix:e})}function Vr(e,t){return new Nt({check:`string_format`,format:`ends_with`,...T(t),suffix:e})}function R(e){return new Pt({check:`overwrite`,tx:e})}function Hr(e){return R(t=>t.normalize(e))}function Ur(){return R(e=>e.trim())}function Wr(){return R(e=>e.toLowerCase())}function Gr(){return R(e=>e.toUpperCase())}function Kr(e,t,n){return new e({type:`array`,element:t,...T(n)})}function qr(e,t,n){let r=new e({type:`custom`,check:`custom`,fn:t,...T(n)});return r}const Jr=g(`ZodISODateTime`,(e,t)=>{Yt.init(e,t),H.init(e,t)});function Yr(e){return yr(Jr,e)}const Xr=g(`ZodISODate`,(e,t)=>{Xt.init(e,t),H.init(e,t)});function Zr(e){return br(Xr,e)}const Qr=g(`ZodISOTime`,(e,t)=>{Zt.init(e,t),H.init(e,t)});function $r(e){return xr(Qr,e)}const ei=g(`ZodISODuration`,(e,t)=>{Qt.init(e,t),H.init(e,t)});function ti(e){return Sr(ei,e)}const ni=(e,t)=>{Me.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Pe(e,t)},flatten:{value:t=>Ne(e,t)},addIssue:{value:t=>e.issues.push(t)},addIssues:{value:t=>e.issues.push(...t)},isEmpty:{get(){return e.issues.length===0}}})},ri=g(`ZodError`,ni),z=g(`ZodError`,ni,{Parent:Error}),ii=Fe(z),ai=Le(z),oi=ze(z),si=Ve(z),B=g(`ZodType`,(e,t)=>(N.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)=>w(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>ii(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>oi(e,t,n),e.parseAsync=async(t,n)=>ai(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>si(e,t,n),e.spa=e.safeParseAsync,e.refine=(t,n)=>e.check(_a(t,n)),e.superRefine=t=>e.check(va(t)),e.overwrite=t=>e.check(R(t)),e.optional=()=>Qi(e),e.nullable=()=>ea(e),e.nullish=()=>Qi(ea(e)),e.nonoptional=t=>oa(e,t),e.array=()=>q(e),e.or=t=>Bi([e,t]),e.and=t=>Wi(e,t),e.transform=t=>ua(e,Xi(t)),e.default=t=>na(e,t),e.prefault=t=>ia(e,t),e.catch=t=>ca(e,t),e.pipe=t=>ua(e,t),e.readonly=()=>fa(e),e.describe=t=>{let n=e.clone();return I.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return I.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return I.get(e);let n=e.clone();return I.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),ci=g(`_ZodString`,(e,t)=>{Lt.init(e,t),B.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(Ir(...t)),e.includes=(...t)=>e.check(zr(...t)),e.startsWith=(...t)=>e.check(Br(...t)),e.endsWith=(...t)=>e.check(Vr(...t)),e.min=(...t)=>e.check(L(...t)),e.max=(...t)=>e.check(Pr(...t)),e.length=(...t)=>e.check(Fr(...t)),e.nonempty=(...t)=>e.check(L(1,...t)),e.lowercase=t=>e.check(Lr(t)),e.uppercase=t=>e.check(Rr(t)),e.trim=()=>e.check(Ur()),e.normalize=(...t)=>e.check(Hr(...t)),e.toLowerCase=()=>e.check(Wr()),e.toUpperCase=()=>e.check(Gr())}),li=g(`ZodString`,(e,t)=>{Lt.init(e,t),ci.init(e,t),e.email=t=>e.check(Zn(ui,t)),e.url=t=>e.check(rr(fi,t)),e.jwt=t=>e.check(vr(Di,t)),e.emoji=t=>e.check(ir(pi,t)),e.guid=t=>e.check(Qn(di,t)),e.uuid=t=>e.check($n(U,t)),e.uuidv4=t=>e.check(er(U,t)),e.uuidv6=t=>e.check(tr(U,t)),e.uuidv7=t=>e.check(nr(U,t)),e.nanoid=t=>e.check(ar(mi,t)),e.guid=t=>e.check(Qn(di,t)),e.cuid=t=>e.check(or(hi,t)),e.cuid2=t=>e.check(sr(gi,t)),e.ulid=t=>e.check(cr(_i,t)),e.base64=t=>e.check(hr(wi,t)),e.base64url=t=>e.check(gr(Ti,t)),e.xid=t=>e.check(lr(vi,t)),e.ksuid=t=>e.check(ur(yi,t)),e.ipv4=t=>e.check(dr(bi,t)),e.ipv6=t=>e.check(fr(xi,t)),e.cidrv4=t=>e.check(pr(Si,t)),e.cidrv6=t=>e.check(mr(Ci,t)),e.e164=t=>e.check(_r(Ei,t)),e.datetime=t=>e.check(Yr(t)),e.date=t=>e.check(Zr(t)),e.time=t=>e.check($r(t)),e.duration=t=>e.check(ti(t))});function V(e){return Xn(li,e)}const H=g(`ZodStringFormat`,(e,t)=>{P.init(e,t),ci.init(e,t)}),ui=g(`ZodEmail`,(e,t)=>{Bt.init(e,t),H.init(e,t)}),di=g(`ZodGUID`,(e,t)=>{Rt.init(e,t),H.init(e,t)}),U=g(`ZodUUID`,(e,t)=>{zt.init(e,t),H.init(e,t)}),fi=g(`ZodURL`,(e,t)=>{Vt.init(e,t),H.init(e,t)}),pi=g(`ZodEmoji`,(e,t)=>{Ht.init(e,t),H.init(e,t)}),mi=g(`ZodNanoID`,(e,t)=>{Ut.init(e,t),H.init(e,t)}),hi=g(`ZodCUID`,(e,t)=>{Wt.init(e,t),H.init(e,t)}),gi=g(`ZodCUID2`,(e,t)=>{Gt.init(e,t),H.init(e,t)}),_i=g(`ZodULID`,(e,t)=>{Kt.init(e,t),H.init(e,t)}),vi=g(`ZodXID`,(e,t)=>{qt.init(e,t),H.init(e,t)}),yi=g(`ZodKSUID`,(e,t)=>{Jt.init(e,t),H.init(e,t)}),bi=g(`ZodIPv4`,(e,t)=>{$t.init(e,t),H.init(e,t)}),xi=g(`ZodIPv6`,(e,t)=>{en.init(e,t),H.init(e,t)}),Si=g(`ZodCIDRv4`,(e,t)=>{tn.init(e,t),H.init(e,t)}),Ci=g(`ZodCIDRv6`,(e,t)=>{nn.init(e,t),H.init(e,t)}),wi=g(`ZodBase64`,(e,t)=>{an.init(e,t),H.init(e,t)}),Ti=g(`ZodBase64URL`,(e,t)=>{sn.init(e,t),H.init(e,t)}),Ei=g(`ZodE164`,(e,t)=>{cn.init(e,t),H.init(e,t)}),Di=g(`ZodJWT`,(e,t)=>{un.init(e,t),H.init(e,t)}),Oi=g(`ZodNumber`,(e,t)=>{dn.init(e,t),B.init(e,t),e.gt=(t,n)=>e.check(jr(t,n)),e.gte=(t,n)=>e.check(Mr(t,n)),e.min=(t,n)=>e.check(Mr(t,n)),e.lt=(t,n)=>e.check(kr(t,n)),e.lte=(t,n)=>e.check(Ar(t,n)),e.max=(t,n)=>e.check(Ar(t,n)),e.int=t=>e.check(Ai(t)),e.safe=t=>e.check(Ai(t)),e.positive=t=>e.check(jr(0,t)),e.nonnegative=t=>e.check(Mr(0,t)),e.negative=t=>e.check(kr(0,t)),e.nonpositive=t=>e.check(Ar(0,t)),e.multipleOf=(t,n)=>e.check(Nr(t,n)),e.step=(t,n)=>e.check(Nr(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 W(e){return Cr(Oi,e)}const ki=g(`ZodNumberFormat`,(e,t)=>{fn.init(e,t),Oi.init(e,t)});function Ai(e){return wr(ki,e)}const ji=g(`ZodBoolean`,(e,t)=>{pn.init(e,t),B.init(e,t)});function G(e){return Tr(ji,e)}const Mi=g(`ZodAny`,(e,t)=>{mn.init(e,t),B.init(e,t)});function Ni(){return Er(Mi)}const Pi=g(`ZodUnknown`,(e,t)=>{hn.init(e,t),B.init(e,t)});function K(){return Dr(Pi)}const Fi=g(`ZodNever`,(e,t)=>{gn.init(e,t),B.init(e,t)});function Ii(e){return Or(Fi,e)}const Li=g(`ZodArray`,(e,t)=>{vn.init(e,t),B.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(L(t,n)),e.nonempty=t=>e.check(L(1,t)),e.max=(t,n)=>e.check(Pr(t,n)),e.length=(t,n)=>e.check(Fr(t,n)),e.unwrap=()=>e.element});function q(e,t){return Kr(Li,e,t)}const Ri=g(`ZodObject`,(e,t)=>{bn.init(e,t),B.init(e,t),b(e,`shape`,()=>t.shape),e.keyof=()=>Y(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:K()}),e.loose=()=>e.clone({...e._zod.def,catchall:K()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ii()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Te(e,t),e.merge=t=>Ee(e,t),e.pick=t=>Ce(e,t),e.omit=t=>we(e,t),e.partial=(...t)=>De(Zi,e,t[0]),e.required=(...t)=>Oe(aa,e,t[0])});function J(e,t){let n={type:`object`,get shape(){return ge(this,`shape`,{...e}),this.shape},...T(t)};return new Ri(n)}const zi=g(`ZodUnion`,(e,t)=>{Sn.init(e,t),B.init(e,t),e.options=t.options});function Bi(e,t){return new zi({type:`union`,options:e,...T(t)})}const Vi=g(`ZodDiscriminatedUnion`,(e,t)=>{zi.init(e,t),Cn.init(e,t)});function Hi(e,t,n){return new Vi({type:`union`,options:t,discriminator:e,...T(n)})}const Ui=g(`ZodIntersection`,(e,t)=>{wn.init(e,t),B.init(e,t)});function Wi(e,t){return new Ui({type:`intersection`,left:e,right:t})}const Gi=g(`ZodRecord`,(e,t)=>{Dn.init(e,t),B.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function Ki(e,t,n){return new Gi({type:`record`,keyType:e,valueType:t,...T(n)})}const qi=g(`ZodEnum`,(e,t)=>{On.init(e,t),B.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 qi({...t,checks:[],...T(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 qi({...t,checks:[],...T(r),entries:i})}});function Y(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new qi({type:`enum`,entries:n,...T(t)})}const Ji=g(`ZodLiteral`,(e,t)=>{kn.init(e,t),B.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 X(e,t){return new Ji({type:`literal`,values:Array.isArray(e)?e:[e],...T(t)})}const Yi=g(`ZodTransform`,(e,t)=>{An.init(e,t),B.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=r=>{if(typeof r==`string`)n.issues.push(k(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(k(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Xi(e){return new Yi({type:`transform`,transform:e})}const Zi=g(`ZodOptional`,(e,t)=>{jn.init(e,t),B.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Qi(e){return new Zi({type:`optional`,innerType:e})}const $i=g(`ZodNullable`,(e,t)=>{Mn.init(e,t),B.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ea(e){return new $i({type:`nullable`,innerType:e})}const ta=g(`ZodDefault`,(e,t)=>{Nn.init(e,t),B.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function na(e,t){return new ta({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():t}})}const ra=g(`ZodPrefault`,(e,t)=>{Fn.init(e,t),B.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ia(e,t){return new ra({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():t}})}const aa=g(`ZodNonOptional`,(e,t)=>{In.init(e,t),B.init(e,t),e.unwrap=()=>e._zod.def.innerType});function oa(e,t){return new aa({type:`nonoptional`,innerType:e,...T(t)})}const sa=g(`ZodCatch`,(e,t)=>{Rn.init(e,t),B.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ca(e,t){return new sa({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const la=g(`ZodPipe`,(e,t)=>{zn.init(e,t),B.init(e,t),e.in=t.in,e.out=t.out});function ua(e,t){return new la({type:`pipe`,in:e,out:t})}const da=g(`ZodReadonly`,(e,t)=>{Vn.init(e,t),B.init(e,t)});function fa(e){return new da({type:`readonly`,innerType:e})}const pa=g(`ZodLazy`,(e,t)=>{Un.init(e,t),B.init(e,t),e.unwrap=()=>e._zod.def.getter()});function ma(e){return new pa({type:`lazy`,getter:e})}const ha=g(`ZodCustom`,(e,t)=>{Wn.init(e,t),B.init(e,t)});function ga(e){let t=new j({check:`custom`});return t._zod.check=e,t}function _a(e,t={}){return qr(ha,e,t)}function va(e){let t=ga(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(k(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(k(r))}},e(n.value,n)));return t}const ya=25,ba=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}`)}},xa=()=>{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},Sa={key:V(),label:V(),required:G().optional().default(!1),secret:G().optional().default(!1),readOnly:G().optional().default(!1),placeholder:V().optional(),description:V().optional(),tooltip:V().optional()},Ca=Hi(`type`,[J({...Sa,type:Y([`text`,`password`])}),J({...Sa,type:X(`select`),options:J({value:V(),label:V()}).array()})]),wa=J({targetFieldKey:V(),alias:V().optional(),expression:V().optional(),values:K().optional(),type:Y([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:G().default(!1),custom:G().default(!1),hidden:G().default(!1),enumMapper:J({matcher:Y([`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(J({matchExpression:V(),value:V()}).array())}).optional(),properties:ma(()=>wa).array().optional()}),Ta=J({operationId:V(),categories:V().array(),operationType:Y([`list`,`get`,`create`,`update`,`delete`,`custom`,`refresh_token`,`unknown`]),schema:V().optional(),entrypointUrl:V().optional(),entrypointHttpMethod:V().optional(),description:V(),responses:J({statusCode:W(),description:V()}).array().optional(),inputs:J({name:V(),type:V(),required:G(),description:V(),in:V()}).array().optional(),cursor:J({enabled:G(),pageSize:W()}).optional(),compositeIdentifiers:J({enabled:G(),version:W().optional(),fields:J({targetFieldKey:V(),remote:V().optional(),components:V().array()}).array().optional()}).optional(),scheduledJobs:J({enabled:G(),type:Y([`data_sync`]),schedule:V(),description:V(),requestParams:J({fields:V().array().optional(),expand:V().array().optional(),filter:Ki(V(),V()).optional()}).optional(),syncFilter:J({name:Y([`updated_after`,`created_after`]),initialLoopbackPeriod:V(),incrementalLoopbackPeriod:V()}).optional()}).array().optional(),fieldConfigs:wa.array().optional(),steps:J({stepId:V(),description:V(),stepFunction:J({functionName:V(),version:V().optional(),parameters:Ki(V(),K())}),condition:V().optional(),ignoreError:G().optional()}).array(),result:V().or(Ki(V(),K())).optional()}),Ea=J({schedule:V().optional(),operation:Ta.extend({operationType:X(`refresh_token`)})}),Da=J({mainRatelimit:W(),subPools:q(J({subPoolKey:V(),urlPattern:V(),rateLimit:W()})).optional(),mappedRateLimitErrors:q(J({errorStatus:W(),errorMessage:V(),errorMessagePath:V().optional(),retryAfterPath:V().optional(),retryAfterUnit:Bi([X(`seconds`),X(`milliseconds`),X(`date`)]).optional(),retryAfterValue:W().optional()})).optional()}),Oa=J({mainMaxConcurrency:W(),subPools:q(J({subPoolKey:V(),urlPattern:V(),maxConcurrency:W()})).optional()}),ka=J({StackOne:V(),info:J({title:V(),version:V(),key:V(),assets:J({icon:V()}),description:V().optional()}),baseUrl:V(),authentication:Ki(V(),J({type:V(),label:V(),authorization:f.AUTHENTICATION_SCHEMA,environments:J({key:V(),name:V()}).array(),support:J({link:V(),description:V().optional()}),configFields:Ca.array().optional(),setupFields:Ca.array().optional(),refreshAuthentication:Ea.optional(),testOperations:J({operation:V().or(Ta),condition:V().optional(),required:G().default(!0)}).array().optional()})).array().optional(),operations:Ta.array().optional(),rateLimit:Da.optional(),concurrency:Oa.optional()});function Aa(e){try{let t=(0,m.parse)(e),n=ka.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=Pa(n),a={baseUrl:n.baseUrl,authentication:ja(i)},o=Ba(n,a);return r.operations=o,Ma(i,o,a),r.authentication=i,(0,c.notMissing)(o)&&(r.categories=Na(Object.values(o))),r}catch(e){throw Error(`Error parsing YAML file: ${e.message}`)}}const ja=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]=ja(c)}else t[n]=r;return t},Ma=(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=Va(e.operation,n);return{...e,operation:t}}return e})}},Na=e=>{let t=e.reduce((e,t)=>{for(let n of t.categories)e.add(n);return e},new Set);return Array.from(t)},Pa=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:Va(s.operation)}:void 0;return t[i]={...u,refreshAuthentication:d,envKey:i,envName:a,testOperations:l},t},{});t[e]=r}return t},Fa=e=>e.entrypointUrl&&e.entrypointHttpMethod?`${e.entrypointHttpMethod.toUpperCase()} ${e.entrypointUrl}`:void 0,Ia=e=>e.operationType===`list`?`GET /${e.schema}`:`GET /${e.schema}/:id`,La=e=>{if(e.operationType!==`refresh_token`)return e.entrypointHttpMethod??`get`},Ra=e=>{if(!(e.operationType===`refresh_token`||(0,c.isMissing)(e.schema)))return e.operationType===`list`?`/${e.schema}`:`/${e.schema}/:id`},za=e=>{let t={success:ba(e.operationType),errors:xa()},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},Ba=(e,t)=>{let n=e.operations?.reduce((e,n)=>{let r=Fa(n),i=Ia(n);return e[r??i]=Va(n,t),e},{});return n},Va=(e,t)=>{let n=Ra(e),r=za(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=La(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}},Ha=(e,t)=>{if(!e.inputs)return{};let n=Ua(e.inputs),r=n.parse(t);return{...r.headers??{},...r.query??{},...r.path??{},...r.body??{}}},Z=e=>{let t={};return e.forEach(e=>{let n;switch(e.type.toLowerCase()){case`string`:n=V();break;case`number`:n=W();break;case`boolean`:n=G();break;default:n=Ni()}t[e.name]=e.required?n:n.optional()}),J(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 J({path:Z(t).optional(),query:Z(n).optional(),body:Z(r).optional(),headers:Z(i).optional()})},Wa=e=>{let t=e.operationType===`list`,n=e.cursor??{enabled:t,pageSize:ya};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=ka.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 Q=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 Q{constructor(e,t){super(`CONNECTOR_PARSE_ERROR`,e,t),this.name=`ConnectorParseError`}},to=class extends Q{constructor(e,t){super(`MISSING_OPERATION_ERROR`,e,t),this.name=`MissingOperationError`}},no=class extends Q{constructor(e,t){super(`INVALID_OPERATION_INPUTS_ERROR`,e,t),this.name=`InvalidOperationInputsError`}},ro=class extends Q{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())}));return{version:e.version,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=$({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 $({block:r,stepId:e,successful:!0,skipped:!0,message:`Step skipped due to condition not met.`});if(i.hasFatalError)return $({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 $({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,ya),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),$=({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}}}),Vo=async({account:e,connector:t,category:n,path:r,method:i=`get`,queryParams:a={},body:o,headers:s,logger:l,getHttpClient:u,parseConnector:d=Aa,getOperationFromUrlFn:f=ae,getOperationForRefreshAuthenticationFn:p=Ja,parseOperationInputsFn:m=Ha,createBlockContextFn:h=lo,createBlockFn:te=ee,runStepOperationFn:ne=No})=>{let re=e.authConfigKey,ie=e.environment??`production`,oe=e.secureId,se=e.projectSecureId,ce=e.credentials,g=h({category:n,connectorKey:e.providerKey,connectorVersion:e.providerVersion,authConfigKey:re,environment:ie,accountSecureId:oe,projectSecureId:se}),le;try{le=(0,c.isString)(t)?d(t):t}catch{throw new eo(g,`Error while parsing connector`)}let _=Uo(r)?p(le,re,ie):f(le,r,i);if((0,c.isMissing)(_))throw new to(g,`No matching operation found`);g.operationType=_.operation.operationType,g.schema=_.operation.schema?.key;let v=Ho(a,g),y;try{y=m(_.operation,{query:a,body:o,headers:s,path:_.params})}catch{throw new no(g,`Error while parsing operation inputs`)}let ue=await te({connector:le,inputs:y,context:g,operation:_.operation,credentials:ce,nextCursor:v,logger:l,getHttpClient:u});return await ne({block:ue})},Ho=(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},Uo=e=>e===so;exports.ConnectSDKError=Q,exports.REFRESH_TOKEN_OPERATION_PATH=so,exports.buildActionsMetaFromConfig=io,exports.createBlock=ee,exports.executeStepFunction=co,exports.getActionsMetaFromConfigs=ao,exports.getOperationFromUrl=ae,exports.getRefreshTokenExpiresIn=Za,exports.getTokenExpiresIn=Xa,exports.loadConnector=te,exports.parseOperationInputs=Ha,exports.parseYamlConnector=Aa,exports.runConnectorOperation=Vo,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 Q=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 Q{constructor(e,t){super(`CONNECTOR_PARSE_ERROR`,e,t),this.name=`ConnectorParseError`}},to=class extends Q{constructor(e,t){super(`MISSING_OPERATION_ERROR`,e,t),this.name=`MissingOperationError`}},no=class extends Q{constructor(e,t){super(`INVALID_OPERATION_INPUTS_ERROR`,e,t),this.name=`InvalidOperationInputsError`}},ro=class extends Q{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=$({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 $({block:r,stepId:e,successful:!0,skipped:!0,message:`Step skipped due to condition not met.`});if(i.hasFatalError)return $({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 $({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,ya),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),$=({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}}}),Vo=async({account:e,connector:t,category:n,path:r,method:i=`get`,queryParams:a={},body:o,headers:s,logger:l,getHttpClient:u,parseConnector:d=Aa,getOperationFromUrlFn:f=ae,getOperationForRefreshAuthenticationFn:p=Ja,parseOperationInputsFn:m=Ha,createBlockContextFn:h=lo,createBlockFn:te=ee,runStepOperationFn:ne=No})=>{let re=e.authConfigKey,ie=e.environment??`production`,oe=e.secureId,se=e.projectSecureId,ce=e.credentials,g=h({category:n,connectorKey:e.providerKey,connectorVersion:e.providerVersion,authConfigKey:re,environment:ie,accountSecureId:oe,projectSecureId:se}),le;try{le=(0,c.isString)(t)?d(t):t}catch{throw new eo(g,`Error while parsing connector`)}let _=Uo(r)?p(le,re,ie):f(le,r,i);if((0,c.isMissing)(_))throw new to(g,`No matching operation found`);g.operationType=_.operation.operationType,g.schema=_.operation.schema?.key;let v=Ho(a,g),y;try{y=m(_.operation,{query:a,body:o,headers:s,path:_.params})}catch{throw new no(g,`Error while parsing operation inputs`)}let ue=await te({connector:le,inputs:y,context:g,operation:_.operation,credentials:ce,nextCursor:v,logger:l,getHttpClient:u});return await ne({block:ue})},Ho=(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},Uo=e=>e===so;exports.ConnectSDKError=Q,exports.REFRESH_TOKEN_OPERATION_PATH=so,exports.buildActionsMetaFromConfig=io,exports.createBlock=ee,exports.executeStepFunction=co,exports.getActionsMetaFromConfigs=ao,exports.getOperationFromUrl=ae,exports.getRefreshTokenExpiresIn=Za,exports.getTokenExpiresIn=Xa,exports.loadConnector=te,exports.parseOperationInputs=Ha,exports.parseYamlConnector=Aa,exports.runConnectorOperation=Vo,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 ? [${T(e)}, ...iss.path] : [${T(e)}]
|
|
29
29
|
})));`),t.write(`newResult[${T(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=E,o=!me.jitless,s=Ce,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):z(e,s,t))):i?Sn(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,ee=g.def.type;for(let e of Object.keys(f)){if(h.has(e))continue;if(ee===`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 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=>N(e,r,C())))}),t}const Tn=x(`$ZodUnion`,(e,t)=>{L.init(e,t),w(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),w(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),w(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),w(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=>ye(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=x(`$ZodDiscriminatedUnion`,(e,t)=>{Tn.init(e,t);let n=e._zod.parse;w(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=_e(()=>{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(!E(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=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])=>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(we(e)&&we(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),A(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=x(`$ZodRecord`,(e,t)=>{L.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!we(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(...j(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...j(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=>N(e,r,C())),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(...j(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...j(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),jn=x(`$ZodEnum`,(e,t)=>{L.init(e,t);let n=he(t.entries);e._zod.values=new Set(n),e._zod.pattern=RegExp(`^(${n.filter(e=>Te.has(typeof e)).map(e=>typeof e==`string`?D(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=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`?D(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=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 S;return e.value=r,e}}),Pn=x(`$ZodOptional`,(e,t)=>{L.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,w(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),w(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ye(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=x(`$ZodNullable`,(e,t)=>{L.init(e,t),w(e._zod,`optin`,()=>t.innerType._zod.optin),w(e._zod,`optout`,()=>t.innerType._zod.optout),w(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ye(e.source)}|null)$`):void 0}),w(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=x(`$ZodDefault`,(e,t)=>{L.init(e,t),e._zod.optin=`optional`,w(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=x(`$ZodPrefault`,(e,t)=>{L.init(e,t),e._zod.optin=`optional`,w(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=x(`$ZodNonOptional`,(e,t)=>{L.init(e,t),w(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=x(`$ZodCatch`,(e,t)=>{L.init(e,t),e._zod.optin=`optional`,w(e._zod,`optout`,()=>t.innerType._zod.optout),w(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=>N(e,n,C()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>N(e,n,C()))},input:e.value}),e.issues=[]),e)}}),Hn=x(`$ZodPipe`,(e,t)=>{L.init(e,t),w(e._zod,`values`,()=>t.in._zod.values),w(e._zod,`optin`,()=>t.in._zod.optin),w(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 A(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}const Wn=x(`$ZodReadonly`,(e,t)=>{L.init(e,t),w(e._zod,`propValues`,()=>t.innerType._zod.propValues),w(e._zod,`values`,()=>t.innerType._zod.values),w(e._zod,`optin`,()=>t.innerType._zod.optin),w(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=x(`$ZodLazy`,(e,t)=>{L.init(e,t),w(e._zod,`innerType`,()=>t.getter()),w(e._zod,`pattern`,()=>e._zod.innerType._zod.pattern),w(e._zod,`propValues`,()=>e._zod.innerType._zod.propValues),w(e._zod,`optin`,()=>e._zod.innerType._zod.optin),w(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=x(`$ZodCustom`,(e,t)=>{F.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=>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(P(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 B=Xn();function Zn(e,t){return new e({type:`string`,...k(t)})}function Qn(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...k(t)})}function $n(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...k(t)})}function er(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...k(t)})}function tr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...k(t)})}function nr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...k(t)})}function rr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...k(t)})}function ir(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...k(t)})}function ar(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...k(t)})}function or(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...k(t)})}function sr(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...k(t)})}function cr(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...k(t)})}function lr(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...k(t)})}function ur(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...k(t)})}function dr(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...k(t)})}function fr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...k(t)})}function pr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...k(t)})}function mr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...k(t)})}function hr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...k(t)})}function gr(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...k(t)})}function _r(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...k(t)})}function vr(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...k(t)})}function yr(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...k(t)})}function br(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...k(t)})}function xr(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...k(t)})}function Sr(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...k(t)})}function Cr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...k(t)})}function wr(e,t){return new e({type:`number`,checks:[],...k(t)})}function Tr(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...k(t)})}function Er(e,t){return new e({type:`boolean`,...k(t)})}function Dr(e){return new e({type:`any`})}function Or(e){return new e({type:`unknown`})}function kr(e,t){return new e({type:`never`,...k(t)})}function Ar(e,t){return new wt({check:`less_than`,...k(t),value:e,inclusive:!1})}function jr(e,t){return new wt({check:`less_than`,...k(t),value:e,inclusive:!0})}function Mr(e,t){return new Tt({check:`greater_than`,...k(t),value:e,inclusive:!1})}function Nr(e,t){return new Tt({check:`greater_than`,...k(t),value:e,inclusive:!0})}function Pr(e,t){return new Et({check:`multiple_of`,...k(t),value:e})}function Fr(e,t){let n=new Ot({check:`max_length`,...k(t),maximum:e});return n}function V(e,t){return new kt({check:`min_length`,...k(t),minimum:e})}function Ir(e,t){return new At({check:`length_equals`,...k(t),length:e})}function Lr(e,t){return new jt({check:`string_format`,format:`regex`,...k(t),pattern:e})}function Rr(e){return new Mt({check:`string_format`,format:`lowercase`,...k(e)})}function zr(e){return new Nt({check:`string_format`,format:`uppercase`,...k(e)})}function Br(e,t){return new Pt({check:`string_format`,format:`includes`,...k(t),includes:e})}function Vr(e,t){return new Ft({check:`string_format`,format:`starts_with`,...k(t),prefix:e})}function Hr(e,t){return new It({check:`string_format`,format:`ends_with`,...k(t),suffix:e})}function H(e){return new Lt({check:`overwrite`,tx:e})}function Ur(e){return H(t=>t.normalize(e))}function Wr(){return H(e=>e.trim())}function Gr(){return H(e=>e.toLowerCase())}function Kr(){return H(e=>e.toUpperCase())}function qr(e,t,n){return new e({type:`array`,element:t,...k(n)})}function Jr(e,t,n){let r=new e({type:`custom`,check:`custom`,fn:t,...k(n)});return r}const Yr=x(`ZodISODateTime`,(e,t)=>{Qt.init(e,t),K.init(e,t)});function Xr(e){return br(Yr,e)}const Zr=x(`ZodISODate`,(e,t)=>{$t.init(e,t),K.init(e,t)});function Qr(e){return xr(Zr,e)}const $r=x(`ZodISOTime`,(e,t)=>{en.init(e,t),K.init(e,t)});function ei(e){return Sr($r,e)}const ti=x(`ZodISODuration`,(e,t)=>{tn.init(e,t),K.init(e,t)});function ni(e){return Cr(ti,e)}const ri=(e,t)=>{Ie.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>ze(e,t)},flatten:{value:t=>Re(e,t)},addIssue:{value:t=>e.issues.push(t)},addIssues:{value:t=>e.issues.push(...t)},isEmpty:{get(){return e.issues.length===0}}})};x(`ZodError`,ri);const U=x(`ZodError`,ri,{Parent:Error}),ii=Be(U),ai=Ve(U),oi=He(U),si=We(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)=>O(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>ii(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>oi(e,t,n),e.parseAsync=async(t,n)=>ai(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>si(e,t,n),e.spa=e.safeParseAsync,e.refine=(t,n)=>e.check(ya(t,n)),e.superRefine=t=>e.check(ba(t)),e.overwrite=t=>e.check(H(t)),e.optional=()=>ea(e),e.nullable=()=>na(e),e.nullish=()=>ea(na(e)),e.nonoptional=t=>ca(e,t),e.array=()=>zi(e),e.or=t=>Hi([e,t]),e.and=t=>Ki(e,t),e.transform=t=>fa(e,Qi(t)),e.default=t=>ia(e,t),e.prefault=t=>oa(e,t),e.catch=t=>ua(e,t),e.pipe=t=>fa(e,t),e.readonly=()=>ma(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)),ci=x(`_ZodString`,(e,t)=>{Bt.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(Lr(...t)),e.includes=(...t)=>e.check(Br(...t)),e.startsWith=(...t)=>e.check(Vr(...t)),e.endsWith=(...t)=>e.check(Hr(...t)),e.min=(...t)=>e.check(V(...t)),e.max=(...t)=>e.check(Fr(...t)),e.length=(...t)=>e.check(Ir(...t)),e.nonempty=(...t)=>e.check(V(1,...t)),e.lowercase=t=>e.check(Rr(t)),e.uppercase=t=>e.check(zr(t)),e.trim=()=>e.check(Wr()),e.normalize=(...t)=>e.check(Ur(...t)),e.toLowerCase=()=>e.check(Gr()),e.toUpperCase=()=>e.check(Kr())}),li=x(`ZodString`,(e,t)=>{Bt.init(e,t),ci.init(e,t),e.email=t=>e.check(Qn(ui,t)),e.url=t=>e.check(ir(pi,t)),e.jwt=t=>e.check(yr(Oi,t)),e.emoji=t=>e.check(ar(mi,t)),e.guid=t=>e.check($n(di,t)),e.uuid=t=>e.check(er(fi,t)),e.uuidv4=t=>e.check(tr(fi,t)),e.uuidv6=t=>e.check(nr(fi,t)),e.uuidv7=t=>e.check(rr(fi,t)),e.nanoid=t=>e.check(or(hi,t)),e.guid=t=>e.check($n(di,t)),e.cuid=t=>e.check(sr(gi,t)),e.cuid2=t=>e.check(cr(_i,t)),e.ulid=t=>e.check(lr(vi,t)),e.base64=t=>e.check(gr(Ti,t)),e.base64url=t=>e.check(_r(Ei,t)),e.xid=t=>e.check(ur(yi,t)),e.ksuid=t=>e.check(dr(bi,t)),e.ipv4=t=>e.check(fr(xi,t)),e.ipv6=t=>e.check(pr(Si,t)),e.cidrv4=t=>e.check(mr(Ci,t)),e.cidrv6=t=>e.check(hr(wi,t)),e.e164=t=>e.check(vr(Di,t)),e.datetime=t=>e.check(Xr(t)),e.date=t=>e.check(Qr(t)),e.time=t=>e.check(ei(t)),e.duration=t=>e.check(ni(t))});function G(e){return Zn(li,e)}const K=x(`ZodStringFormat`,(e,t)=>{R.init(e,t),ci.init(e,t)}),ui=x(`ZodEmail`,(e,t)=>{Ut.init(e,t),K.init(e,t)}),di=x(`ZodGUID`,(e,t)=>{Vt.init(e,t),K.init(e,t)}),fi=x(`ZodUUID`,(e,t)=>{Ht.init(e,t),K.init(e,t)}),pi=x(`ZodURL`,(e,t)=>{Wt.init(e,t),K.init(e,t)}),mi=x(`ZodEmoji`,(e,t)=>{Gt.init(e,t),K.init(e,t)}),hi=x(`ZodNanoID`,(e,t)=>{Kt.init(e,t),K.init(e,t)}),gi=x(`ZodCUID`,(e,t)=>{qt.init(e,t),K.init(e,t)}),_i=x(`ZodCUID2`,(e,t)=>{Jt.init(e,t),K.init(e,t)}),vi=x(`ZodULID`,(e,t)=>{Yt.init(e,t),K.init(e,t)}),yi=x(`ZodXID`,(e,t)=>{Xt.init(e,t),K.init(e,t)}),bi=x(`ZodKSUID`,(e,t)=>{Zt.init(e,t),K.init(e,t)}),xi=x(`ZodIPv4`,(e,t)=>{nn.init(e,t),K.init(e,t)}),Si=x(`ZodIPv6`,(e,t)=>{rn.init(e,t),K.init(e,t)}),Ci=x(`ZodCIDRv4`,(e,t)=>{an.init(e,t),K.init(e,t)}),wi=x(`ZodCIDRv6`,(e,t)=>{on.init(e,t),K.init(e,t)}),Ti=x(`ZodBase64`,(e,t)=>{cn.init(e,t),K.init(e,t)}),Ei=x(`ZodBase64URL`,(e,t)=>{un.init(e,t),K.init(e,t)}),Di=x(`ZodE164`,(e,t)=>{dn.init(e,t),K.init(e,t)}),Oi=x(`ZodJWT`,(e,t)=>{pn.init(e,t),K.init(e,t)}),ki=x(`ZodNumber`,(e,t)=>{mn.init(e,t),W.init(e,t),e.gt=(t,n)=>e.check(Mr(t,n)),e.gte=(t,n)=>e.check(Nr(t,n)),e.min=(t,n)=>e.check(Nr(t,n)),e.lt=(t,n)=>e.check(Ar(t,n)),e.lte=(t,n)=>e.check(jr(t,n)),e.max=(t,n)=>e.check(jr(t,n)),e.int=t=>e.check(ji(t)),e.safe=t=>e.check(ji(t)),e.positive=t=>e.check(Mr(0,t)),e.nonnegative=t=>e.check(Nr(0,t)),e.negative=t=>e.check(Ar(0,t)),e.nonpositive=t=>e.check(jr(0,t)),e.multipleOf=(t,n)=>e.check(Pr(t,n)),e.step=(t,n)=>e.check(Pr(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 wr(ki,e)}const Ai=x(`ZodNumberFormat`,(e,t)=>{hn.init(e,t),ki.init(e,t)});function ji(e){return Tr(Ai,e)}const Mi=x(`ZodBoolean`,(e,t)=>{gn.init(e,t),W.init(e,t)});function J(e){return Er(Mi,e)}const Ni=x(`ZodAny`,(e,t)=>{_n.init(e,t),W.init(e,t)});function Pi(){return Dr(Ni)}const Fi=x(`ZodUnknown`,(e,t)=>{vn.init(e,t),W.init(e,t)});function Y(){return Or(Fi)}const Ii=x(`ZodNever`,(e,t)=>{yn.init(e,t),W.init(e,t)});function Li(e){return kr(Ii,e)}const Ri=x(`ZodArray`,(e,t)=>{xn.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(Fr(t,n)),e.length=(t,n)=>e.check(Ir(t,n)),e.unwrap=()=>e.element});function zi(e,t){return qr(Ri,e,t)}const Bi=x(`ZodObject`,(e,t)=>{Cn.init(e,t),W.init(e,t),w(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:Li()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Ae(e,t),e.merge=t=>je(e,t),e.pick=t=>Oe(e,t),e.omit=t=>ke(e,t),e.partial=(...t)=>Me($i,e,t[0]),e.required=(...t)=>Ne(sa,e,t[0])});function X(e,t){let n={type:`object`,get shape(){return xe(this,`shape`,{...e}),this.shape},...k(t)};return new Bi(n)}const Vi=x(`ZodUnion`,(e,t)=>{Tn.init(e,t),W.init(e,t),e.options=t.options});function Hi(e,t){return new Vi({type:`union`,options:e,...k(t)})}const Ui=x(`ZodDiscriminatedUnion`,(e,t)=>{Vi.init(e,t),En.init(e,t)});function Wi(e,t,n){return new Ui({type:`union`,options:t,discriminator:e,...k(n)})}const Gi=x(`ZodIntersection`,(e,t)=>{Dn.init(e,t),W.init(e,t)});function Ki(e,t){return new Gi({type:`intersection`,left:e,right:t})}const qi=x(`ZodRecord`,(e,t)=>{An.init(e,t),W.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function Ji(e,t,n){return new qi({type:`record`,keyType:e,valueType:t,...k(n)})}const Yi=x(`ZodEnum`,(e,t)=>{jn.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 Yi({...t,checks:[],...k(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 Yi({...t,checks:[],...k(r),entries:i})}});function Z(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Yi({type:`enum`,entries:n,...k(t)})}const Xi=x(`ZodLiteral`,(e,t)=>{Mn.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 Xi({type:`literal`,values:Array.isArray(e)?e:[e],...k(t)})}const Zi=x(`ZodTransform`,(e,t)=>{Nn.init(e,t),W.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=r=>{if(typeof r==`string`)n.issues.push(P(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(P(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Qi(e){return new Zi({type:`transform`,transform:e})}const $i=x(`ZodOptional`,(e,t)=>{Pn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ea(e){return new $i({type:`optional`,innerType:e})}const ta=x(`ZodNullable`,(e,t)=>{Fn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType});function na(e){return new ta({type:`nullable`,innerType:e})}const ra=x(`ZodDefault`,(e,t)=>{In.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ia(e,t){return new ra({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():t}})}const aa=x(`ZodPrefault`,(e,t)=>{Rn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType});function oa(e,t){return new aa({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():t}})}const sa=x(`ZodNonOptional`,(e,t)=>{zn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ca(e,t){return new sa({type:`nonoptional`,innerType:e,...k(t)})}const la=x(`ZodCatch`,(e,t)=>{Vn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ua(e,t){return new la({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const da=x(`ZodPipe`,(e,t)=>{Hn.init(e,t),W.init(e,t),e.in=t.in,e.out=t.out});function fa(e,t){return new da({type:`pipe`,in:e,out:t})}const pa=x(`ZodReadonly`,(e,t)=>{Wn.init(e,t),W.init(e,t)});function ma(e){return new pa({type:`readonly`,innerType:e})}const ha=x(`ZodLazy`,(e,t)=>{Kn.init(e,t),W.init(e,t),e.unwrap=()=>e._zod.def.getter()});function ga(e){return new ha({type:`lazy`,getter:e})}const _a=x(`ZodCustom`,(e,t)=>{qn.init(e,t),W.init(e,t)});function va(e){let t=new F({check:`custom`});return t._zod.check=e,t}function ya(e,t={}){return Jr(_a,e,t)}function ba(e){let t=va(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(P(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(P(r))}},e(n.value,n)));return t}const xa=25,Sa=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}`)}},Ca=()=>{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},wa={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()},Ta=Wi(`type`,[X({...wa,type:Z([`text`,`password`])}),X({...wa,type:Q(`select`),options:X({value:G(),label:G()}).array()})]),Ea=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:ga(()=>Ea).array().optional()}),Da=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:Ji(G(),G()).optional()}).optional(),syncFilter:X({name:Z([`updated_after`,`created_after`]),initialLoopbackPeriod:G(),incrementalLoopbackPeriod:G()}).optional()}).array().optional(),fieldConfigs:Ea.array().optional(),steps:X({stepId:G(),description:G(),stepFunction:X({functionName:G(),version:G().optional(),parameters:Ji(G(),Y())}),condition:G().optional(),ignoreError:J().optional()}).array(),result:G().or(Ji(G(),Y())).optional()}),Oa=X({schedule:G().optional(),operation:Da.extend({operationType:Q(`refresh_token`)})}),ka=X({mainRatelimit:q(),subPools:zi(X({subPoolKey:G(),urlPattern:G(),rateLimit:q()})).optional(),mappedRateLimitErrors:zi(X({errorStatus:q(),errorMessage:G(),errorMessagePath:G().optional(),retryAfterPath:G().optional(),retryAfterUnit:Hi([Q(`seconds`),Q(`milliseconds`),Q(`date`)]).optional(),retryAfterValue:q().optional()})).optional()}),Aa=X({mainMaxConcurrency:q(),subPools:zi(X({subPoolKey:G(),urlPattern:G(),maxConcurrency:q()})).optional()}),ja=X({StackOne:G(),info:X({title:G(),version:G(),key:G(),assets:X({icon:G()}),description:G().optional()}),baseUrl:G(),authentication:Ji(G(),X({type:G(),label:G(),authorization:u,environments:X({key:G(),name:G()}).array(),support:X({link:G(),description:G().optional()}),configFields:Ta.array().optional(),setupFields:Ta.array().optional(),refreshAuthentication:Oa.optional(),testOperations:X({operation:G().or(Da),condition:G().optional(),required:J().default(!0)}).array().optional()})).array().optional(),operations:Da.array().optional(),rateLimit:ka.optional(),concurrency:Aa.optional()});function Ma(e){try{let t=v(e),n=ja.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=Ia(n),o={baseUrl:n.baseUrl,authentication:Na(a)},s=Ha(n,o);return r.operations=s,Pa(a,s,o),r.authentication=a,i(s)&&(r.categories=Fa(Object.values(s))),r}catch(e){throw Error(`Error parsing YAML file: ${e.message}`)}}const Na=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]=Na(c)}else t[n]=r;return t},Pa=(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=Ua(e.operation,n);return{...e,operation:t}}return e})}},Fa=e=>{let t=e.reduce((e,t)=>{for(let n of t.categories)e.add(n);return e},new Set);return Array.from(t)},Ia=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:Ua(c.operation)}:void 0;return t[a]={...u,refreshAuthentication:d,envKey:a,envName:o,testOperations:l},t},{});t[e]=r}return t},La=e=>e.entrypointUrl&&e.entrypointHttpMethod?`${e.entrypointHttpMethod.toUpperCase()} ${e.entrypointUrl}`:void 0,Ra=e=>e.operationType===`list`?`GET /${e.schema}`:`GET /${e.schema}/:id`,za=e=>{if(e.operationType!==`refresh_token`)return e.entrypointHttpMethod??`get`},Ba=t=>{if(!(t.operationType===`refresh_token`||e(t.schema)))return t.operationType===`list`?`/${t.schema}`:`/${t.schema}/:id`},Va=e=>{let t={success:Sa(e.operationType),errors:Ca()},n=e.responses?.reduce((e,t)=>{let n=ae(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},Ha=(e,t)=>{let n=e.operations?.reduce((e,n)=>{let r=La(n),i=Ra(n);return e[r??i]=Ua(n,t),e},{});return n},Ua=(e,t)=>{let n=Ba(e),r=Va(e),i=qa(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=za(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:Ja(e),scheduledJobs:Ya(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,...Xa(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}},Wa=(e,t)=>{if(!e.inputs)return{};let n=Ka(e.inputs),r=n.parse(t);return{...r.headers??{},...r.query??{},...r.path??{},...r.body??{}}},Ga=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=Pi()}t[e.name]=e.required?n:n.optional()}),X(t)},Ka=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:Ga(t).optional(),query:Ga(n).optional(),body:Ga(r).optional(),headers:Ga(i).optional()})},qa=e=>{let t=e.operationType===`list`,n=e.cursor??{enabled:t,pageSize:xa};return{enabled:n.enabled&&t,pageSize:n.pageSize}},Ja=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}},Ya=t=>{if(!e(t.scheduledJobs))return t.scheduledJobs},Xa=(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{}},Za=(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:{}}},Qa=(e,t,n)=>{if(e.authentication?.[t]?.[n]?.authorization.type!==`oauth2`)return!1;let r=Za(e,t,n);return i(r)},$a=(e,t,n)=>{let r=e.authentication?.[t]?.[n]?.authorization;if(r?.type===`oauth2`)return r?.tokenExpiresIn},eo=(e,t,n)=>{let r=e.authentication?.[t]?.[n]?.authorization;if(r?.type===`oauth2`)return r?.tokenRefreshExpiresIn},to=e=>{try{let t=[],n=v(e),r=ja.safeParse(n);return r.success||r.error.issues.forEach(n=>{let r=no(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}]}}},no=(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}`}},ro=class extends ${constructor(e,t){super(`CONNECTOR_PARSE_ERROR`,e,t),this.name=`ConnectorParseError`}},io=class extends ${constructor(e,t){super(`MISSING_OPERATION_ERROR`,e,t),this.name=`MissingOperationError`}},ao=class extends ${constructor(e,t){super(`INVALID_OPERATION_INPUTS_ERROR`,e,t),this.name=`InvalidOperationInputsError`}},oo=class extends ${constructor(e,t){super(`INVALID_CURSOR_ERROR`,e,t),this.name=`InvalidCursorError`}};const so=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())}));return{version:e.version,key:e.key,icon:e.assets?.icon,description:e.description,authentication:t,actions:n}},co=e=>e.map(so),lo=`stackone://internal//`,uo=`${lo}refresh_token`,fo=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}}},po=({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}),mo=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 ho(r,a,t.logger),{...t,inputs:r}},ho=(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`))xo(i,r,e,t,n);else if(Array.isArray(i))for(let e of i)ho(e,t,n);else typeof i==`object`&&i&&ho(i,t,n)}},go=(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}},_o=(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]})},vo=e=>{let t=Object.values(e);return t.length===1&&(typeof t[0]==`string`||typeof t[0]==`number`)},yo=(e,t,n,r,i)=>{n.every(vo)&&(i?e[t]=[...n.map(e=>Object.values(e)[0]),...r]:n.length>0&&(e[t]=Object.values(n[0])[0]))},bo=(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})},xo=(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}=go(o,t,r,i);_o(n,t,s,a),yo(n,t,s,c,a)}catch(e){bo(e,t,i)}},So=`remote_`,Co=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=>wo(e,n)):wo(i,n);return{...t,outputs:{...t.outputs??{},[r]:a}}},wo=(e,t)=>{let r=To(e,t),i=No(r);return{...e,...n(i)?i:{}}},To=(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[`${So}${t.remote}`]=e[t.remote])}),{...e,...r}},Eo=e=>e===`id`||/.+_id(s)?$/.test(e),Do=e=>Array.isArray(e)&&e.every(e=>r(e)&&e.length>0),Oo=(e,t)=>te(e)||t.startsWith(So),ko=(e,t)=>{try{return g({key:e,value:t},{version:d})}catch{return t}},Ao=(e,t,n)=>{let i=t.map(t=>r(t)&&t.length>0&&!te(t)?ko(e,t):t);n[e]=i,n[`${So}${e}`]=t},jo=(e,t,n)=>{if(Oo(t,e))return;let r=g({key:e,value:t},{version:d});n[e]=r,n[`remote_${e}`]=t},Mo=(e,t,n)=>{Do(t)?Ao(e,t,n):r(t)&&t.length>0&&jo(e,t,n)},No=e=>{if(Array.isArray(e))return e.map(e=>No(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]=No(i)),Eo(r)&&Mo(r,i,t);return t},Po=(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},Fo=(t,r,a,o)=>{let s=e(t)?void 0:t.data,c=Object.keys(a).length+1,l=ne({cursor:o,ignoreStepIndex:c});if(!n(t)||e(s)||(s?.length??0)<=r)return{result:t,next:i(o)&&!l?_(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=re({cursor:o,stepIndex:c,pageNumber:u+1});return{result:{...t,data:p},next:m?_(h):null}},Io=async({block:e,buildStepFunction:t=m.build,virtualPaginateResultFn:n=Fo,encodeResultCompositeIds:r=Co,decodeInputCompositeIds:i=mo})=>{let a=i(e),o=await Ho({block:a,buildStepFunction:t,virtualPaginateResultFn:n});return r(o)},Lo=(e,t)=>e.condition?!y(e.condition,t):!1,Ro=(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??{}},zo=(e,t,n,r,i)=>{let a=Wo({block:e,stepId:t,successful:!1,functionOutput:n}),o=r.ignoreError??!1;return o||(i.hasFatalError=!0,i.errorStatusCode??=n.output?.statusCode??500),a},Bo=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(Lo(o,r))return Wo({block:r,stepId:e,successful:!0,skipped:!0,message:`Step skipped due to condition not met.`});if(i.hasFatalError)return Wo({block:r,stepId:e,successful:!1,skipped:!0,message:`Step skipped due to previous error.`});let l=Ro(o,r,t),u=await c({block:r,params:l});if(u.successful===!1)return zo(r,e,u,o,i);let d=r.operation?.cursor.enabled?re({cursor:r.nextCursor,stepIndex:t,providerPageCursor:u.output?.next,position:u.output?.position}):void 0;return Wo({block:{...u.block,nextCursor:d},stepId:e,functionOutput:u})},Vo=(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??ie?.[c]??`Error while processing the request`}}},Ho=async({block:e,buildStepFunction:t=m.build,virtualPaginateResultFn:n=Fo})=>{let r=e.operation?.steps||{},i={...e},a=Object.keys(r),o=Po(e,xa),s={hasFatalError:!1,errorStatusCode:null},c={block:e,buildStepFunction:t,virtualPaginateResultFn:n};for(let[e,t]of a.entries())i=await Bo(t,e,r,i,s,c);let l=e.operation?.result?Uo(e.operation.result,i):void 0,u=e.operation?.cursor.enabled?n(l,o,r,i.nextCursor):void 0;return Vo(e,i,s,l,u)},Uo=(e,t)=>n(e)?b(e,t):y(e,t),Wo=({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}}}),Go=async({account:t,connector:n,category:i,path:a,method:o=`get`,queryParams:s={},body:c,headers:l,logger:u,getHttpClient:d,parseConnector:f=Ma,getOperationFromUrlFn:p=de,getOperationForRefreshAuthenticationFn:m=Za,parseOperationInputsFn:h=Wa,createBlockContextFn:g=po,createBlockFn:ee=oe,runStepOperationFn:te=Io})=>{let ne=t.authConfigKey,_=t.environment??`production`,re=t.secureId,ie=t.projectSecureId,ae=t.credentials,v=g({category:i,connectorKey:t.providerKey,connectorVersion:t.providerVersion,authConfigKey:ne,environment:_,accountSecureId:re,projectSecureId:ie}),y;try{y=r(n)?f(n):n}catch{throw new ro(v,`Error while parsing connector`)}let b=qo(a)?m(y,ne,_):p(y,a,o);if(e(b))throw new io(v,`No matching operation found`);v.operationType=b.operation.operationType,v.schema=b.operation.schema?.key;let se=Ko(s,v),ce;try{ce=h(b.operation,{query:s,body:c,headers:l,path:b.params})}catch{throw new ao(v,`Error while parsing operation inputs`)}let le=await ee({connector:y,inputs:ce,context:v,operation:b.operation,credentials:ae,nextCursor:se,logger:u,getHttpClient:d});return await te({block:le})},Ko=(e,t)=>{let n=e?.next,r=i(n)&&t.operationType===`list`?ee(n):void 0;if(r===null)throw new oo(t,`Invalid cursor.`);return r},qo=e=>e===uo;export{$ as ConnectSDKError,uo as REFRESH_TOKEN_OPERATION_PATH,so as buildActionsMetaFromConfig,oe as createBlock,fo as executeStepFunction,co as getActionsMetaFromConfigs,de as getOperationFromUrl,eo as getRefreshTokenExpiresIn,$a as getTokenExpiresIn,se as loadConnector,Wa as parseOperationInputs,Ma as parseYamlConnector,Go as runConnectorOperation,Io as runStepOperation,Qa as supportsRefreshAuthentication,to 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}`}},ro=class extends ${constructor(e,t){super(`CONNECTOR_PARSE_ERROR`,e,t),this.name=`ConnectorParseError`}},io=class extends ${constructor(e,t){super(`MISSING_OPERATION_ERROR`,e,t),this.name=`MissingOperationError`}},ao=class extends ${constructor(e,t){super(`INVALID_OPERATION_INPUTS_ERROR`,e,t),this.name=`InvalidOperationInputsError`}},oo=class extends ${constructor(e,t){super(`INVALID_CURSOR_ERROR`,e,t),this.name=`InvalidCursorError`}};const so=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}},co=e=>e.map(so),lo=`stackone://internal//`,uo=`${lo}refresh_token`,fo=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}}},po=({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}),mo=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 ho(r,a,t.logger),{...t,inputs:r}},ho=(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`))xo(i,r,e,t,n);else if(Array.isArray(i))for(let e of i)ho(e,t,n);else typeof i==`object`&&i&&ho(i,t,n)}},go=(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}},_o=(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]})},vo=e=>{let t=Object.values(e);return t.length===1&&(typeof t[0]==`string`||typeof t[0]==`number`)},yo=(e,t,n,r,i)=>{n.every(vo)&&(i?e[t]=[...n.map(e=>Object.values(e)[0]),...r]:n.length>0&&(e[t]=Object.values(n[0])[0]))},bo=(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})},xo=(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}=go(o,t,r,i);_o(n,t,s,a),yo(n,t,s,c,a)}catch(e){bo(e,t,i)}},So=`remote_`,Co=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=>wo(e,n)):wo(i,n);return{...t,outputs:{...t.outputs??{},[r]:a}}},wo=(e,t)=>{let r=To(e,t),i=No(r);return{...e,...n(i)?i:{}}},To=(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[`${So}${t.remote}`]=e[t.remote])}),{...e,...r}},Eo=e=>e===`id`||/.+_id(s)?$/.test(e),Do=e=>Array.isArray(e)&&e.every(e=>r(e)&&e.length>0),Oo=(e,t)=>te(e)||t.startsWith(So),ko=(e,t)=>{try{return g({key:e,value:t},{version:d})}catch{return t}},Ao=(e,t,n)=>{let i=t.map(t=>r(t)&&t.length>0&&!te(t)?ko(e,t):t);n[e]=i,n[`${So}${e}`]=t},jo=(e,t,n)=>{if(Oo(t,e))return;let r=g({key:e,value:t},{version:d});n[e]=r,n[`remote_${e}`]=t},Mo=(e,t,n)=>{Do(t)?Ao(e,t,n):r(t)&&t.length>0&&jo(e,t,n)},No=e=>{if(Array.isArray(e))return e.map(e=>No(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]=No(i)),Eo(r)&&Mo(r,i,t);return t},Po=(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},Fo=(t,r,a,o)=>{let s=e(t)?void 0:t.data,c=Object.keys(a).length+1,l=ne({cursor:o,ignoreStepIndex:c});if(!n(t)||e(s)||(s?.length??0)<=r)return{result:t,next:i(o)&&!l?_(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=re({cursor:o,stepIndex:c,pageNumber:u+1});return{result:{...t,data:p},next:m?_(h):null}},Io=async({block:e,buildStepFunction:t=m.build,virtualPaginateResultFn:n=Fo,encodeResultCompositeIds:r=Co,decodeInputCompositeIds:i=mo})=>{let a=i(e),o=await Ho({block:a,buildStepFunction:t,virtualPaginateResultFn:n});return r(o)},Lo=(e,t)=>e.condition?!y(e.condition,t):!1,Ro=(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??{}},zo=(e,t,n,r,i)=>{let a=Wo({block:e,stepId:t,successful:!1,functionOutput:n}),o=r.ignoreError??!1;return o||(i.hasFatalError=!0,i.errorStatusCode??=n.output?.statusCode??500),a},Bo=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(Lo(o,r))return Wo({block:r,stepId:e,successful:!0,skipped:!0,message:`Step skipped due to condition not met.`});if(i.hasFatalError)return Wo({block:r,stepId:e,successful:!1,skipped:!0,message:`Step skipped due to previous error.`});let l=Ro(o,r,t),u=await c({block:r,params:l});if(u.successful===!1)return zo(r,e,u,o,i);let d=r.operation?.cursor.enabled?re({cursor:r.nextCursor,stepIndex:t,providerPageCursor:u.output?.next,position:u.output?.position}):void 0;return Wo({block:{...u.block,nextCursor:d},stepId:e,functionOutput:u})},Vo=(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??ie?.[c]??`Error while processing the request`}}},Ho=async({block:e,buildStepFunction:t=m.build,virtualPaginateResultFn:n=Fo})=>{let r=e.operation?.steps||{},i={...e},a=Object.keys(r),o=Po(e,xa),s={hasFatalError:!1,errorStatusCode:null},c={block:e,buildStepFunction:t,virtualPaginateResultFn:n};for(let[e,t]of a.entries())i=await Bo(t,e,r,i,s,c);let l=e.operation?.result?Uo(e.operation.result,i):void 0,u=e.operation?.cursor.enabled?n(l,o,r,i.nextCursor):void 0;return Vo(e,i,s,l,u)},Uo=(e,t)=>n(e)?b(e,t):y(e,t),Wo=({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}}}),Go=async({account:t,connector:n,category:i,path:a,method:o=`get`,queryParams:s={},body:c,headers:l,logger:u,getHttpClient:d,parseConnector:f=Ma,getOperationFromUrlFn:p=de,getOperationForRefreshAuthenticationFn:m=Za,parseOperationInputsFn:h=Wa,createBlockContextFn:g=po,createBlockFn:ee=oe,runStepOperationFn:te=Io})=>{let ne=t.authConfigKey,_=t.environment??`production`,re=t.secureId,ie=t.projectSecureId,ae=t.credentials,v=g({category:i,connectorKey:t.providerKey,connectorVersion:t.providerVersion,authConfigKey:ne,environment:_,accountSecureId:re,projectSecureId:ie}),y;try{y=r(n)?f(n):n}catch{throw new ro(v,`Error while parsing connector`)}let b=qo(a)?m(y,ne,_):p(y,a,o);if(e(b))throw new io(v,`No matching operation found`);v.operationType=b.operation.operationType,v.schema=b.operation.schema?.key;let se=Ko(s,v),ce;try{ce=h(b.operation,{query:s,body:c,headers:l,path:b.params})}catch{throw new ao(v,`Error while parsing operation inputs`)}let le=await ee({connector:y,inputs:ce,context:v,operation:b.operation,credentials:ae,nextCursor:se,logger:u,getHttpClient:d});return await te({block:le})},Ko=(e,t)=>{let n=e?.next,r=i(n)&&t.operationType===`list`?ee(n):void 0;if(r===null)throw new oo(t,`Invalid cursor.`);return r},qo=e=>e===uo;export{$ as ConnectSDKError,uo as REFRESH_TOKEN_OPERATION_PATH,so as buildActionsMetaFromConfig,oe as createBlock,fo as executeStepFunction,co as getActionsMetaFromConfigs,de as getOperationFromUrl,eo as getRefreshTokenExpiresIn,$a as getTokenExpiresIn,se as loadConnector,Wa as parseOperationInputs,Ma as parseYamlConnector,Go as runConnectorOperation,Io as runStepOperation,Qa as supportsRefreshAuthentication,to as validateYamlConnector};
|