twenty-client-sdk 2.31.0 → 2.35.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/{application-BaeFV5yH.js → application-jIH-TLc8.js} +1 -1
- package/dist/{application-Ce5JfsBq.mjs → application-uUo_d2Xg.mjs} +2 -2
- package/dist/core/generated/index.d.ts +10 -1
- package/dist/core.cjs +1 -1
- package/dist/core.mjs +1 -1
- package/dist/generate/twenty-client-template.d.ts +4 -1
- package/dist/generate.cjs +37 -7
- package/dist/generate.mjs +3 -3
- package/dist/metadata/generated/index.d.ts +4 -1
- package/dist/metadata/generated/schema.d.ts +238 -6
- package/dist/metadata/generated/types.d.ts +115 -2
- package/dist/metadata.cjs +2 -2
- package/dist/metadata.mjs +1280 -1137
- package/dist/rest/index.d.ts +3 -0
- package/dist/rest.cjs +1 -1
- package/dist/rest.mjs +35 -34
- package/package.json +1 -1
|
@@ -17,4 +17,4 @@ var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{1
|
|
|
17
17
|
newResult[${r}] = ${n}.value;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=w,s=!_.jitless,c=s&&ue.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?tn([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function an(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!k(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>j(e,r,v())))}),t)}var on=h(`$ZodUnion`,(e,t)=>{z.init(e,t),x(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),x(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),x(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),x(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=>oe(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>an(t,i,e,a)):an(s,i,e,a)}}),sn=h(`$ZodIntersection`,(e,t)=>{z.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>cn(e,t,n)):cn(e,i,a)}});function U(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(T(e)&&T(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=U(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=U(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function cn(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),k(e))return e;let r=U(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var ln=h(`$ZodEnum`,(e,t)=>{z.init(e,t);let n=ie(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>fe.has(typeof e)).map(e=>typeof e==`string`?E(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),un=h(`$ZodTransform`,(e,t)=>{z.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new re(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new g;return n.value=i,n}});function dn(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var fn=h(`$ZodOptional`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,x(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),x(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${oe(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>dn(t,e.value)):dn(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),pn=h(`$ZodNullable`,(e,t)=>{z.init(e,t),x(e._zod,`optin`,()=>t.innerType._zod.optin),x(e._zod,`optout`,()=>t.innerType._zod.optout),x(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${oe(e.source)}|null)$`):void 0}),x(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)}),mn=h(`$ZodDefault`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,x(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(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=>hn(e,t)):hn(r,t)}});function hn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var gn=h(`$ZodPrefault`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,x(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),_n=h(`$ZodNonOptional`,(e,t)=>{z.init(e,t),x(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=>vn(t,e)):vn(i,e)}});function vn(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var yn=h(`$ZodCatch`,(e,t)=>{z.init(e,t),x(e._zod,`optin`,()=>t.innerType._zod.optin),x(e._zod,`optout`,()=>t.innerType._zod.optout),x(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(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=>j(e,n,v()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>j(e,n,v()))},input:e.value}),e.issues=[]),e)}}),bn=h(`$ZodPipe`,(e,t)=>{z.init(e,t),x(e._zod,`values`,()=>t.in._zod.values),x(e._zod,`optin`,()=>t.in._zod.optin),x(e._zod,`optout`,()=>t.out._zod.optout),x(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>W(e,t.in,n)):W(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>W(e,t.out,n)):W(r,t.out,n)}});function W(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var xn=h(`$ZodReadonly`,(e,t)=>{z.init(e,t),x(e._zod,`propValues`,()=>t.innerType._zod.propValues),x(e._zod,`values`,()=>t.innerType._zod.values),x(e._zod,`optin`,()=>t.innerType._zod.optin),x(e._zod,`optout`,()=>t.innerType._zod.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Sn):Sn(r)}});function Sn(e){return e.value=Object.freeze(e.value),e}var Cn=h(`$ZodCustom`,(e,t)=>{L.init(e,t),z.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>wn(t,n,r,e));wn(i,n,r,e)}});function wn(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(M(e))}}var Tn=class{constructor(){this._map=new WeakMap,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 WeakMap,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)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function En(){return new Tn}var G=En();function Dn(e,t){return new e({type:`string`,...O(t)})}function On(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...O(t)})}function kn(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...O(t)})}function An(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...O(t)})}function jn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...O(t)})}function Mn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...O(t)})}function Nn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...O(t)})}function Pn(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...O(t)})}function Fn(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...O(t)})}function In(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...O(t)})}function Ln(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...O(t)})}function Rn(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...O(t)})}function zn(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...O(t)})}function Bn(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...O(t)})}function Vn(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...O(t)})}function Hn(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...O(t)})}function Un(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...O(t)})}function Wn(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...O(t)})}function Gn(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...O(t)})}function Kn(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...O(t)})}function qn(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...O(t)})}function Jn(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...O(t)})}function Yn(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...O(t)})}function Xn(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...O(t)})}function Zn(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...O(t)})}function Qn(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...O(t)})}function $n(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...O(t)})}function er(e){return new e({type:`unknown`})}function tr(e,t){return new e({type:`never`,...O(t)})}function nr(e,t){return new ft({check:`max_length`,...O(t),maximum:e})}function K(e,t){return new pt({check:`min_length`,...O(t),minimum:e})}function rr(e,t){return new mt({check:`length_equals`,...O(t),length:e})}function ir(e,t){return new ht({check:`string_format`,format:`regex`,...O(t),pattern:e})}function ar(e){return new gt({check:`string_format`,format:`lowercase`,...O(e)})}function or(e){return new _t({check:`string_format`,format:`uppercase`,...O(e)})}function sr(e,t){return new vt({check:`string_format`,format:`includes`,...O(t),includes:e})}function cr(e,t){return new yt({check:`string_format`,format:`starts_with`,...O(t),prefix:e})}function lr(e,t){return new bt({check:`string_format`,format:`ends_with`,...O(t),suffix:e})}function q(e){return new xt({check:`overwrite`,tx:e})}function ur(e){return q(t=>t.normalize(e))}function dr(){return q(e=>e.trim())}function fr(){return q(e=>e.toLowerCase())}function pr(){return q(e=>e.toUpperCase())}function mr(e,t,n){return new e({type:`array`,element:t,...O(n)})}function hr(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...O(n)})}function gr(e){let t=_r(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(M(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(M(r))}},e(n.value,n)));return t}function _r(e,t){let n=new L({check:`custom`,...O(t)});return n._zod.check=e,n}var vr=h(`ZodISODateTime`,(e,t)=>{Ft.init(e,t),X.init(e,t)});function yr(e){return Xn(vr,e)}var br=h(`ZodISODate`,(e,t)=>{It.init(e,t),X.init(e,t)});function xr(e){return Zn(br,e)}var Sr=h(`ZodISOTime`,(e,t)=>{Lt.init(e,t),X.init(e,t)});function Cr(e){return Qn(Sr,e)}var wr=h(`ZodISODuration`,(e,t)=>{Rt.init(e,t),X.init(e,t)});function Tr(e){return $n(wr,e)}var Er=(e,t)=>{we.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>De(e,t)},flatten:{value:t=>Ee(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,y,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,y,2)}},isEmpty:{get(){return e.issues.length===0}}})};h(`ZodError`,Er);var J=h(`ZodError`,Er,{Parent:Error}),Dr=N(J),Or=P(J),kr=F(J),Ar=I(J),jr=Ae(J),Mr=je(J),Nr=Me(J),Pr=Ne(J),Fr=Pe(J),Ir=Fe(J),Lr=Ie(J),Rr=Le(J),Y=h(`ZodType`,(e,t)=>(z.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(C(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]})),e.clone=(t,n)=>D(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>Dr(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>kr(e,t,n),e.parseAsync=async(t,n)=>Or(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ar(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>jr(e,t,n),e.decode=(t,n)=>Mr(e,t,n),e.encodeAsync=async(t,n)=>Nr(e,t,n),e.decodeAsync=async(t,n)=>Pr(e,t,n),e.safeEncode=(t,n)=>Fr(e,t,n),e.safeDecode=(t,n)=>Ir(e,t,n),e.safeEncodeAsync=async(t,n)=>Lr(e,t,n),e.safeDecodeAsync=async(t,n)=>Rr(e,t,n),e.refine=(t,n)=>e.check(zi(t,n)),e.superRefine=t=>e.check(Bi(t)),e.overwrite=t=>e.check(q(t)),e.optional=()=>Ci(e),e.nullable=()=>Ti(e),e.nullish=()=>Ci(Ti(e)),e.nonoptional=t=>ji(e,t),e.array=()=>di(e),e.or=t=>hi([e,t]),e.and=t=>_i(e,t),e.transform=t=>Fi(e,xi(t)),e.default=t=>Di(e,t),e.prefault=t=>ki(e,t),e.catch=t=>Ni(e,t),e.pipe=t=>Fi(e,t),e.readonly=()=>Li(e),e.describe=t=>{let n=e.clone();return G.add(n,{description:t}),n},Object.defineProperty(e,"description",{get(){return G.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return G.get(e);let n=e.clone();return G.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),zr=h(`_ZodString`,(e,t)=>{B.init(e,t),Y.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(sr(...t)),e.startsWith=(...t)=>e.check(cr(...t)),e.endsWith=(...t)=>e.check(lr(...t)),e.min=(...t)=>e.check(K(...t)),e.max=(...t)=>e.check(nr(...t)),e.length=(...t)=>e.check(rr(...t)),e.nonempty=(...t)=>e.check(K(1,...t)),e.lowercase=t=>e.check(ar(t)),e.uppercase=t=>e.check(or(t)),e.trim=()=>e.check(dr()),e.normalize=(...t)=>e.check(ur(...t)),e.toLowerCase=()=>e.check(fr()),e.toUpperCase=()=>e.check(pr())}),Br=h(`ZodString`,(e,t)=>{B.init(e,t),zr.init(e,t),e.email=t=>e.check(On(Hr,t)),e.url=t=>e.check(Pn(Wr,t)),e.jwt=t=>e.check(Yn(ai,t)),e.emoji=t=>e.check(Fn(Gr,t)),e.guid=t=>e.check(kn(Ur,t)),e.uuid=t=>e.check(An(Z,t)),e.uuidv4=t=>e.check(jn(Z,t)),e.uuidv6=t=>e.check(Mn(Z,t)),e.uuidv7=t=>e.check(Nn(Z,t)),e.nanoid=t=>e.check(In(Kr,t)),e.guid=t=>e.check(kn(Ur,t)),e.cuid=t=>e.check(Ln(qr,t)),e.cuid2=t=>e.check(Rn(Jr,t)),e.ulid=t=>e.check(zn(Yr,t)),e.base64=t=>e.check(Kn(ni,t)),e.base64url=t=>e.check(qn(ri,t)),e.xid=t=>e.check(Bn(Xr,t)),e.ksuid=t=>e.check(Vn(Zr,t)),e.ipv4=t=>e.check(Hn(Qr,t)),e.ipv6=t=>e.check(Un($r,t)),e.cidrv4=t=>e.check(Wn(ei,t)),e.cidrv6=t=>e.check(Gn(ti,t)),e.e164=t=>e.check(Jn(ii,t)),e.datetime=t=>e.check(yr(t)),e.date=t=>e.check(xr(t)),e.time=t=>e.check(Cr(t)),e.duration=t=>e.check(Tr(t))});function Vr(e){return Dn(Br,e)}var X=h(`ZodStringFormat`,(e,t)=>{V.init(e,t),zr.init(e,t)}),Hr=h(`ZodEmail`,(e,t)=>{Et.init(e,t),X.init(e,t)}),Ur=h(`ZodGUID`,(e,t)=>{wt.init(e,t),X.init(e,t)}),Z=h(`ZodUUID`,(e,t)=>{Tt.init(e,t),X.init(e,t)}),Wr=h(`ZodURL`,(e,t)=>{Dt.init(e,t),X.init(e,t)}),Gr=h(`ZodEmoji`,(e,t)=>{Ot.init(e,t),X.init(e,t)}),Kr=h(`ZodNanoID`,(e,t)=>{kt.init(e,t),X.init(e,t)}),qr=h(`ZodCUID`,(e,t)=>{At.init(e,t),X.init(e,t)}),Jr=h(`ZodCUID2`,(e,t)=>{jt.init(e,t),X.init(e,t)}),Yr=h(`ZodULID`,(e,t)=>{Mt.init(e,t),X.init(e,t)}),Xr=h(`ZodXID`,(e,t)=>{Nt.init(e,t),X.init(e,t)}),Zr=h(`ZodKSUID`,(e,t)=>{Pt.init(e,t),X.init(e,t)}),Qr=h(`ZodIPv4`,(e,t)=>{zt.init(e,t),X.init(e,t)}),$r=h(`ZodIPv6`,(e,t)=>{Bt.init(e,t),X.init(e,t)}),ei=h(`ZodCIDRv4`,(e,t)=>{Vt.init(e,t),X.init(e,t)}),ti=h(`ZodCIDRv6`,(e,t)=>{Ht.init(e,t),X.init(e,t)}),ni=h(`ZodBase64`,(e,t)=>{Wt.init(e,t),X.init(e,t)}),ri=h(`ZodBase64URL`,(e,t)=>{Kt.init(e,t),X.init(e,t)}),ii=h(`ZodE164`,(e,t)=>{qt.init(e,t),X.init(e,t)}),ai=h(`ZodJWT`,(e,t)=>{Yt.init(e,t),X.init(e,t)}),oi=h(`ZodUnknown`,(e,t)=>{Xt.init(e,t),Y.init(e,t)});function si(){return er(oi)}var ci=h(`ZodNever`,(e,t)=>{Zt.init(e,t),Y.init(e,t)});function li(e){return tr(ci,e)}var ui=h(`ZodArray`,(e,t)=>{$t.init(e,t),Y.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(K(t,n)),e.nonempty=t=>e.check(K(1,t)),e.max=(t,n)=>e.check(nr(t,n)),e.length=(t,n)=>e.check(rr(t,n)),e.unwrap=()=>e.element});function di(e,t){return mr(ui,e,t)}var fi=h(`ZodObject`,(e,t)=>{rn.init(e,t),Y.init(e,t),x(e,`shape`,()=>t.shape),e.keyof=()=>yi(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:si()}),e.loose=()=>e.clone({...e._zod.def,catchall:si()}),e.strict=()=>e.clone({...e._zod.def,catchall:li()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>ge(e,t),e.safeExtend=t=>_e(e,t),e.merge=t=>ve(e,t),e.pick=t=>me(e,t),e.omit=t=>he(e,t),e.partial=(...t)=>ye(Si,e,t[0]),e.required=(...t)=>be(Ai,e,t[0])});function pi(e,t){return new fi({type:`object`,shape:e??{},...O(t)})}var mi=h(`ZodUnion`,(e,t)=>{on.init(e,t),Y.init(e,t),e.options=t.options});function hi(e,t){return new mi({type:`union`,options:e,...O(t)})}var gi=h(`ZodIntersection`,(e,t)=>{sn.init(e,t),Y.init(e,t)});function _i(e,t){return new gi({type:`intersection`,left:e,right:t})}var vi=h(`ZodEnum`,(e,t)=>{ln.init(e,t),Y.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 vi({...t,checks:[],...O(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 vi({...t,checks:[],...O(r),entries:i})}});function yi(e,t){return new vi({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...O(t)})}var bi=h(`ZodTransform`,(e,t)=>{un.init(e,t),Y.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new re(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(M(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(M(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 bi({type:`transform`,transform:e})}var Si=h(`ZodOptional`,(e,t)=>{fn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ci(e){return new Si({type:`optional`,innerType:e})}var wi=h(`ZodNullable`,(e,t)=>{pn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ti(e){return new wi({type:`nullable`,innerType:e})}var Ei=h(`ZodDefault`,(e,t)=>{mn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Di(e,t){return new Ei({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():de(t)}})}var Oi=h(`ZodPrefault`,(e,t)=>{gn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ki(e,t){return new Oi({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():de(t)}})}var Ai=h(`ZodNonOptional`,(e,t)=>{_n.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ji(e,t){return new Ai({type:`nonoptional`,innerType:e,...O(t)})}var Mi=h(`ZodCatch`,(e,t)=>{yn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ni(e,t){return new Mi({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Pi=h(`ZodPipe`,(e,t)=>{bn.init(e,t),Y.init(e,t),e.in=t.in,e.out=t.out});function Fi(e,t){return new Pi({type:`pipe`,in:e,out:t})}var Ii=h(`ZodReadonly`,(e,t)=>{xn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Li(e){return new Ii({type:`readonly`,innerType:e})}var Ri=h(`ZodCustom`,(e,t)=>{Cn.init(e,t),Y.init(e,t)});function zi(e,t={}){return hr(Ri,e,t)}function Bi(e){return gr(e)}var Vi=function(){function e(e){this.groups=[],this.each=!1,this.context=void 0,this.type=e.type,this.name=e.name,this.target=e.target,this.propertyName=e.propertyName,this.constraints=e?.constraints,this.constraintCls=e.constraintCls,this.validationTypeOptions=e.validationTypeOptions,e.validationOptions&&(this.message=e.validationOptions.message,this.groups=e.validationOptions.groups,this.always=e.validationOptions.always,this.each=e.validationOptions.each,this.context=e.validationOptions.context)}return e}(),Hi=function(){function e(){}return e.prototype.transform=function(e){var t=[];return Object.keys(e.properties).forEach(function(n){e.properties[n].forEach(function(r){var i={message:r.message,groups:r.groups,always:r.always,each:r.each},a={type:r.type,name:r.name,target:e.name,propertyName:n,constraints:r.constraints,validationTypeOptions:r.options,validationOptions:i};t.push(new Vi(a))})}),t},e}(),Ui=function(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)},Wi=function(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a},Gi=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))};(function(){function e(){this.validationMetadatas=new Map,this.constraintMetadatas=new Map}return Object.defineProperty(e.prototype,"hasValidationMetaData",{get:function(){return!!this.validationMetadatas.size},enumerable:!1,configurable:!0}),e.prototype.addValidationSchema=function(e){var t=this;new Hi().transform(e).forEach(function(e){return t.addValidationMetadata(e)})},e.prototype.addValidationMetadata=function(e){var t=this.validationMetadatas.get(e.target);t?t.push(e):this.validationMetadatas.set(e.target,[e])},e.prototype.addConstraintMetadata=function(e){var t=this.constraintMetadatas.get(e.target);t?t.push(e):this.constraintMetadatas.set(e.target,[e])},e.prototype.groupByPropertyName=function(e){var t={};return e.forEach(function(e){t[e.propertyName]||(t[e.propertyName]=[]),t[e.propertyName].push(e)}),t},e.prototype.getTargetValidationMetadatas=function(e,t,n,r,i){var a,o,s=function(e){return e.always===void 0?e.groups&&e.groups.length?!1:n:e.always},c=function(e){return!!(r&&(!i||!i.length)&&e.groups&&e.groups.length)},l=(this.validationMetadatas.get(e)||[]).filter(function(n){return n.target!==e&&n.target!==t?!1:s(n)?!0:c(n)?!1:i&&i.length>0?n.groups&&!!n.groups.find(function(e){return i.indexOf(e)!==-1}):!0}),u=[];try{for(var d=Ui(this.validationMetadatas.entries()),f=d.next();!f.done;f=d.next()){var p=Wi(f.value,2),ee=p[0],m=p[1];e.prototype instanceof ee&&u.push.apply(u,Gi([],Wi(m),!1))}}catch(e){a={error:e}}finally{try{f&&!f.done&&(o=d.return)&&o.call(d)}finally{if(a)throw a.error}}var te=u.filter(function(t){return typeof t.target==`string`||t.target===e||t.target instanceof Function&&!(e.prototype instanceof t.target)?!1:s(t)?!0:c(t)?!1:i&&i.length>0?t.groups&&!!t.groups.find(function(e){return i.indexOf(e)!==-1}):!0}).filter(function(e){return!l.find(function(t){return t.propertyName===e.propertyName&&t.type===e.type})});return l.concat(te)},e.prototype.getTargetValidatorConstraints=function(e){return this.constraintMetadatas.get(e)||[]},e})(),function(){function e(){}return e.isValid=function(e){var t=this;return e!==`isValid`&&e!==`getMessage`&&Object.keys(this).map(function(e){return t[e]}).indexOf(e)!==-1},e.CUSTOM_VALIDATION=`customValidation`,e.NESTED_VALIDATION=`nestedValidation`,e.PROMISE_VALIDATION=`promiseValidation`,e.CONDITIONAL_VALIDATION=`conditionalValidation`,e.WHITELIST=`whitelistValidation`,e.IS_DEFINED=`isDefined`,e}();var Ki=new(function(){function e(){this.instances=[]}return e.prototype.get=function(e){var t=this.instances.find(function(t){return t.type===e});return t||(t={type:e,object:new e},this.instances.push(t)),t.object},e}()),qi,Q;function Ji(e){if(qi)try{var t=qi.get(e);if(t||!Q||!Q.fallback)return t}catch(e){if(!Q||!Q.fallbackOnErrors)throw e}return Ki.get(e)}(function(){function e(e,t,n){n===void 0&&(n=!1),this.target=e,this.name=t,this.async=n}return Object.defineProperty(e.prototype,"instance",{get:function(){return Ji(this.target)},enumerable:!1,configurable:!0}),e})();var $=function(e){return e.ACTOR=`ACTOR`,e.ADDRESS=`ADDRESS`,e.ARRAY=`ARRAY`,e.BOOLEAN=`BOOLEAN`,e.CURRENCY=`CURRENCY`,e.DATE=`DATE`,e.DATE_TIME=`DATE_TIME`,e.EMAILS=`EMAILS`,e.FILES=`FILES`,e.FULL_NAME=`FULL_NAME`,e.LINKS=`LINKS`,e.MORPH_RELATION=`MORPH_RELATION`,e.MULTI_SELECT=`MULTI_SELECT`,e.NUMBER=`NUMBER`,e.NUMERIC=`NUMERIC`,e.PHONES=`PHONES`,e.POSITION=`POSITION`,e.RATING=`RATING`,e.RAW_JSON=`RAW_JSON`,e.RELATION=`RELATION`,e.RICH_TEXT=`RICH_TEXT`,e.SELECT=`SELECT`,e.TEXT=`TEXT`,e.TS_VECTOR=`TS_VECTOR`,e.UUID=`UUID`,e}({}),Yi=function(e){return e.EMAIL=`EMAIL`,e.CALENDAR=`CALENDAR`,e.WORKFLOW=`WORKFLOW`,e.AGENT=`AGENT`,e.API=`API`,e.IMPORT=`IMPORT`,e.MANUAL=`MANUAL`,e.SYSTEM=`SYSTEM`,e.WEBHOOK=`WEBHOOK`,e.APPLICATION=`APPLICATION`,e}({}),Xi={type:$.ACTOR,properties:[{name:`source`,type:$.SELECT,hidden:!1,isRequired:!0,options:Object.keys(Yi).map((e,t)=>({id:p(),label:`${Yi[e].toLowerCase()}`,value:e,position:t}))},{name:`workspaceMemberId`,type:$.UUID,hidden:`input`,isRequired:!1},{name:`name`,type:$.TEXT,hidden:`input`,isRequired:!0},{name:`context`,type:$.RAW_JSON,hidden:!1,isRequired:!1}]},Zi={type:$.ADDRESS,properties:[{name:`addressStreet1`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressStreet2`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressCity`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressPostcode`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressState`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressCountry`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressLat`,type:$.NUMERIC,hidden:!1,isRequired:!1},{name:`addressLng`,type:$.NUMERIC,hidden:!1,isRequired:!1}]},Qi={type:$.CURRENCY,properties:[{name:`amountMicros`,type:$.NUMERIC,hidden:!1,isRequired:!1},{name:`currencyCode`,type:$.TEXT,hidden:!1,isRequired:!1}]},$i={type:$.EMAILS,properties:[{name:`primaryEmail`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`additionalEmails`,type:$.RAW_JSON,hidden:!1,isRequired:!1}]},ea={type:$.FULL_NAME,properties:[{name:`firstName`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!1},{name:`lastName`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!1}]},ta={type:$.LINKS,properties:[{name:`primaryLinkLabel`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`primaryLinkUrl`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`secondaryLinks`,type:$.RAW_JSON,hidden:!1,isRequired:!1}]},na={type:$.PHONES,properties:[{name:`primaryPhoneNumber`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`primaryPhoneCountryCode`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`primaryPhoneCallingCode`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`additionalPhones`,type:$.RAW_JSON,hidden:!1,isRequired:!1}]},ra={type:$.RICH_TEXT,properties:[{name:`blocknote`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`markdown`,type:$.TEXT,hidden:!1,isRequired:!1}]};pi({blocknote:Vr().nullable().optional(),markdown:Vr().nullable()}),new Map([[$.LINKS,ta],[$.CURRENCY,Qi],[$.FULL_NAME,ea],[$.ADDRESS,Zi],[$.ACTOR,Xi],[$.EMAILS,$i],[$.PHONES,na],[$.RICH_TEXT,ra]]),$.RELATION,$.MORPH_RELATION,$.FILES,$.TS_VECTOR,$.TEXT,$.ARRAY,$.BOOLEAN,$.DATE,$.DATE_TIME,$.NUMBER,$.NUMERIC,$.RAW_JSON,$.RICH_TEXT,$.SELECT,$.MULTI_SELECT;var ia=`TWENTY_API_KEY`,aa=`TWENTY_API_URL`,oa=`TWENTY_APP_ACCESS_TOKEN`,sa=`TWENTY_FUNCTIONS_URL`;Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return oa}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return sa}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return aa}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return ia}});
|
|
20
|
+
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=w,s=!_.jitless,c=s&&ue.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?tn([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function an(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!k(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>j(e,r,v())))}),t)}var on=h(`$ZodUnion`,(e,t)=>{z.init(e,t),x(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),x(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),x(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),x(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=>oe(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>an(t,i,e,a)):an(s,i,e,a)}}),sn=h(`$ZodIntersection`,(e,t)=>{z.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>cn(e,t,n)):cn(e,i,a)}});function U(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(T(e)&&T(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=U(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=U(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function cn(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),k(e))return e;let r=U(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var ln=h(`$ZodEnum`,(e,t)=>{z.init(e,t);let n=ie(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>fe.has(typeof e)).map(e=>typeof e==`string`?E(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),un=h(`$ZodTransform`,(e,t)=>{z.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new re(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new g;return n.value=i,n}});function dn(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var fn=h(`$ZodOptional`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,x(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),x(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${oe(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>dn(t,e.value)):dn(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),pn=h(`$ZodNullable`,(e,t)=>{z.init(e,t),x(e._zod,`optin`,()=>t.innerType._zod.optin),x(e._zod,`optout`,()=>t.innerType._zod.optout),x(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${oe(e.source)}|null)$`):void 0}),x(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)}),mn=h(`$ZodDefault`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,x(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(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=>hn(e,t)):hn(r,t)}});function hn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var gn=h(`$ZodPrefault`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,x(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),_n=h(`$ZodNonOptional`,(e,t)=>{z.init(e,t),x(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=>vn(t,e)):vn(i,e)}});function vn(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var yn=h(`$ZodCatch`,(e,t)=>{z.init(e,t),x(e._zod,`optin`,()=>t.innerType._zod.optin),x(e._zod,`optout`,()=>t.innerType._zod.optout),x(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(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=>j(e,n,v()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>j(e,n,v()))},input:e.value}),e.issues=[]),e)}}),bn=h(`$ZodPipe`,(e,t)=>{z.init(e,t),x(e._zod,`values`,()=>t.in._zod.values),x(e._zod,`optin`,()=>t.in._zod.optin),x(e._zod,`optout`,()=>t.out._zod.optout),x(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>W(e,t.in,n)):W(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>W(e,t.out,n)):W(r,t.out,n)}});function W(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var xn=h(`$ZodReadonly`,(e,t)=>{z.init(e,t),x(e._zod,`propValues`,()=>t.innerType._zod.propValues),x(e._zod,`values`,()=>t.innerType._zod.values),x(e._zod,`optin`,()=>t.innerType._zod.optin),x(e._zod,`optout`,()=>t.innerType._zod.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Sn):Sn(r)}});function Sn(e){return e.value=Object.freeze(e.value),e}var Cn=h(`$ZodCustom`,(e,t)=>{L.init(e,t),z.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>wn(t,n,r,e));wn(i,n,r,e)}});function wn(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(M(e))}}var Tn=class{constructor(){this._map=new WeakMap,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 WeakMap,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)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function En(){return new Tn}var G=En();function Dn(e,t){return new e({type:`string`,...O(t)})}function On(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...O(t)})}function kn(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...O(t)})}function An(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...O(t)})}function jn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...O(t)})}function Mn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...O(t)})}function Nn(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...O(t)})}function Pn(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...O(t)})}function Fn(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...O(t)})}function In(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...O(t)})}function Ln(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...O(t)})}function Rn(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...O(t)})}function zn(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...O(t)})}function Bn(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...O(t)})}function Vn(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...O(t)})}function Hn(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...O(t)})}function Un(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...O(t)})}function Wn(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...O(t)})}function Gn(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...O(t)})}function Kn(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...O(t)})}function qn(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...O(t)})}function Jn(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...O(t)})}function Yn(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...O(t)})}function Xn(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...O(t)})}function Zn(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...O(t)})}function Qn(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...O(t)})}function $n(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...O(t)})}function er(e){return new e({type:`unknown`})}function tr(e,t){return new e({type:`never`,...O(t)})}function nr(e,t){return new ft({check:`max_length`,...O(t),maximum:e})}function K(e,t){return new pt({check:`min_length`,...O(t),minimum:e})}function rr(e,t){return new mt({check:`length_equals`,...O(t),length:e})}function ir(e,t){return new ht({check:`string_format`,format:`regex`,...O(t),pattern:e})}function ar(e){return new gt({check:`string_format`,format:`lowercase`,...O(e)})}function or(e){return new _t({check:`string_format`,format:`uppercase`,...O(e)})}function sr(e,t){return new vt({check:`string_format`,format:`includes`,...O(t),includes:e})}function cr(e,t){return new yt({check:`string_format`,format:`starts_with`,...O(t),prefix:e})}function lr(e,t){return new bt({check:`string_format`,format:`ends_with`,...O(t),suffix:e})}function q(e){return new xt({check:`overwrite`,tx:e})}function ur(e){return q(t=>t.normalize(e))}function dr(){return q(e=>e.trim())}function fr(){return q(e=>e.toLowerCase())}function pr(){return q(e=>e.toUpperCase())}function mr(e,t,n){return new e({type:`array`,element:t,...O(n)})}function hr(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...O(n)})}function gr(e){let t=_r(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(M(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(M(r))}},e(n.value,n)));return t}function _r(e,t){let n=new L({check:`custom`,...O(t)});return n._zod.check=e,n}var vr=h(`ZodISODateTime`,(e,t)=>{Ft.init(e,t),X.init(e,t)});function yr(e){return Xn(vr,e)}var br=h(`ZodISODate`,(e,t)=>{It.init(e,t),X.init(e,t)});function xr(e){return Zn(br,e)}var Sr=h(`ZodISOTime`,(e,t)=>{Lt.init(e,t),X.init(e,t)});function Cr(e){return Qn(Sr,e)}var wr=h(`ZodISODuration`,(e,t)=>{Rt.init(e,t),X.init(e,t)});function Tr(e){return $n(wr,e)}var Er=(e,t)=>{we.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>De(e,t)},flatten:{value:t=>Ee(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,y,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,y,2)}},isEmpty:{get(){return e.issues.length===0}}})};h(`ZodError`,Er);var J=h(`ZodError`,Er,{Parent:Error}),Dr=N(J),Or=P(J),kr=F(J),Ar=I(J),jr=Ae(J),Mr=je(J),Nr=Me(J),Pr=Ne(J),Fr=Pe(J),Ir=Fe(J),Lr=Ie(J),Rr=Le(J),Y=h(`ZodType`,(e,t)=>(z.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(C(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]})),e.clone=(t,n)=>D(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>Dr(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>kr(e,t,n),e.parseAsync=async(t,n)=>Or(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ar(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>jr(e,t,n),e.decode=(t,n)=>Mr(e,t,n),e.encodeAsync=async(t,n)=>Nr(e,t,n),e.decodeAsync=async(t,n)=>Pr(e,t,n),e.safeEncode=(t,n)=>Fr(e,t,n),e.safeDecode=(t,n)=>Ir(e,t,n),e.safeEncodeAsync=async(t,n)=>Lr(e,t,n),e.safeDecodeAsync=async(t,n)=>Rr(e,t,n),e.refine=(t,n)=>e.check(zi(t,n)),e.superRefine=t=>e.check(Bi(t)),e.overwrite=t=>e.check(q(t)),e.optional=()=>Ci(e),e.nullable=()=>Ti(e),e.nullish=()=>Ci(Ti(e)),e.nonoptional=t=>ji(e,t),e.array=()=>di(e),e.or=t=>hi([e,t]),e.and=t=>_i(e,t),e.transform=t=>Fi(e,xi(t)),e.default=t=>Di(e,t),e.prefault=t=>ki(e,t),e.catch=t=>Ni(e,t),e.pipe=t=>Fi(e,t),e.readonly=()=>Li(e),e.describe=t=>{let n=e.clone();return G.add(n,{description:t}),n},Object.defineProperty(e,"description",{get(){return G.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return G.get(e);let n=e.clone();return G.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),zr=h(`_ZodString`,(e,t)=>{B.init(e,t),Y.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(sr(...t)),e.startsWith=(...t)=>e.check(cr(...t)),e.endsWith=(...t)=>e.check(lr(...t)),e.min=(...t)=>e.check(K(...t)),e.max=(...t)=>e.check(nr(...t)),e.length=(...t)=>e.check(rr(...t)),e.nonempty=(...t)=>e.check(K(1,...t)),e.lowercase=t=>e.check(ar(t)),e.uppercase=t=>e.check(or(t)),e.trim=()=>e.check(dr()),e.normalize=(...t)=>e.check(ur(...t)),e.toLowerCase=()=>e.check(fr()),e.toUpperCase=()=>e.check(pr())}),Br=h(`ZodString`,(e,t)=>{B.init(e,t),zr.init(e,t),e.email=t=>e.check(On(Hr,t)),e.url=t=>e.check(Pn(Wr,t)),e.jwt=t=>e.check(Yn(ai,t)),e.emoji=t=>e.check(Fn(Gr,t)),e.guid=t=>e.check(kn(Ur,t)),e.uuid=t=>e.check(An(Z,t)),e.uuidv4=t=>e.check(jn(Z,t)),e.uuidv6=t=>e.check(Mn(Z,t)),e.uuidv7=t=>e.check(Nn(Z,t)),e.nanoid=t=>e.check(In(Kr,t)),e.guid=t=>e.check(kn(Ur,t)),e.cuid=t=>e.check(Ln(qr,t)),e.cuid2=t=>e.check(Rn(Jr,t)),e.ulid=t=>e.check(zn(Yr,t)),e.base64=t=>e.check(Kn(ni,t)),e.base64url=t=>e.check(qn(ri,t)),e.xid=t=>e.check(Bn(Xr,t)),e.ksuid=t=>e.check(Vn(Zr,t)),e.ipv4=t=>e.check(Hn(Qr,t)),e.ipv6=t=>e.check(Un($r,t)),e.cidrv4=t=>e.check(Wn(ei,t)),e.cidrv6=t=>e.check(Gn(ti,t)),e.e164=t=>e.check(Jn(ii,t)),e.datetime=t=>e.check(yr(t)),e.date=t=>e.check(xr(t)),e.time=t=>e.check(Cr(t)),e.duration=t=>e.check(Tr(t))});function Vr(e){return Dn(Br,e)}var X=h(`ZodStringFormat`,(e,t)=>{V.init(e,t),zr.init(e,t)}),Hr=h(`ZodEmail`,(e,t)=>{Et.init(e,t),X.init(e,t)}),Ur=h(`ZodGUID`,(e,t)=>{wt.init(e,t),X.init(e,t)}),Z=h(`ZodUUID`,(e,t)=>{Tt.init(e,t),X.init(e,t)}),Wr=h(`ZodURL`,(e,t)=>{Dt.init(e,t),X.init(e,t)}),Gr=h(`ZodEmoji`,(e,t)=>{Ot.init(e,t),X.init(e,t)}),Kr=h(`ZodNanoID`,(e,t)=>{kt.init(e,t),X.init(e,t)}),qr=h(`ZodCUID`,(e,t)=>{At.init(e,t),X.init(e,t)}),Jr=h(`ZodCUID2`,(e,t)=>{jt.init(e,t),X.init(e,t)}),Yr=h(`ZodULID`,(e,t)=>{Mt.init(e,t),X.init(e,t)}),Xr=h(`ZodXID`,(e,t)=>{Nt.init(e,t),X.init(e,t)}),Zr=h(`ZodKSUID`,(e,t)=>{Pt.init(e,t),X.init(e,t)}),Qr=h(`ZodIPv4`,(e,t)=>{zt.init(e,t),X.init(e,t)}),$r=h(`ZodIPv6`,(e,t)=>{Bt.init(e,t),X.init(e,t)}),ei=h(`ZodCIDRv4`,(e,t)=>{Vt.init(e,t),X.init(e,t)}),ti=h(`ZodCIDRv6`,(e,t)=>{Ht.init(e,t),X.init(e,t)}),ni=h(`ZodBase64`,(e,t)=>{Wt.init(e,t),X.init(e,t)}),ri=h(`ZodBase64URL`,(e,t)=>{Kt.init(e,t),X.init(e,t)}),ii=h(`ZodE164`,(e,t)=>{qt.init(e,t),X.init(e,t)}),ai=h(`ZodJWT`,(e,t)=>{Yt.init(e,t),X.init(e,t)}),oi=h(`ZodUnknown`,(e,t)=>{Xt.init(e,t),Y.init(e,t)});function si(){return er(oi)}var ci=h(`ZodNever`,(e,t)=>{Zt.init(e,t),Y.init(e,t)});function li(e){return tr(ci,e)}var ui=h(`ZodArray`,(e,t)=>{$t.init(e,t),Y.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(K(t,n)),e.nonempty=t=>e.check(K(1,t)),e.max=(t,n)=>e.check(nr(t,n)),e.length=(t,n)=>e.check(rr(t,n)),e.unwrap=()=>e.element});function di(e,t){return mr(ui,e,t)}var fi=h(`ZodObject`,(e,t)=>{rn.init(e,t),Y.init(e,t),x(e,`shape`,()=>t.shape),e.keyof=()=>yi(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:si()}),e.loose=()=>e.clone({...e._zod.def,catchall:si()}),e.strict=()=>e.clone({...e._zod.def,catchall:li()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>ge(e,t),e.safeExtend=t=>_e(e,t),e.merge=t=>ve(e,t),e.pick=t=>me(e,t),e.omit=t=>he(e,t),e.partial=(...t)=>ye(Si,e,t[0]),e.required=(...t)=>be(Ai,e,t[0])});function pi(e,t){return new fi({type:`object`,shape:e??{},...O(t)})}var mi=h(`ZodUnion`,(e,t)=>{on.init(e,t),Y.init(e,t),e.options=t.options});function hi(e,t){return new mi({type:`union`,options:e,...O(t)})}var gi=h(`ZodIntersection`,(e,t)=>{sn.init(e,t),Y.init(e,t)});function _i(e,t){return new gi({type:`intersection`,left:e,right:t})}var vi=h(`ZodEnum`,(e,t)=>{ln.init(e,t),Y.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 vi({...t,checks:[],...O(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 vi({...t,checks:[],...O(r),entries:i})}});function yi(e,t){return new vi({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...O(t)})}var bi=h(`ZodTransform`,(e,t)=>{un.init(e,t),Y.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new re(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(M(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(M(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 bi({type:`transform`,transform:e})}var Si=h(`ZodOptional`,(e,t)=>{fn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ci(e){return new Si({type:`optional`,innerType:e})}var wi=h(`ZodNullable`,(e,t)=>{pn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ti(e){return new wi({type:`nullable`,innerType:e})}var Ei=h(`ZodDefault`,(e,t)=>{mn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Di(e,t){return new Ei({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():de(t)}})}var Oi=h(`ZodPrefault`,(e,t)=>{gn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ki(e,t){return new Oi({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():de(t)}})}var Ai=h(`ZodNonOptional`,(e,t)=>{_n.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ji(e,t){return new Ai({type:`nonoptional`,innerType:e,...O(t)})}var Mi=h(`ZodCatch`,(e,t)=>{yn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ni(e,t){return new Mi({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Pi=h(`ZodPipe`,(e,t)=>{bn.init(e,t),Y.init(e,t),e.in=t.in,e.out=t.out});function Fi(e,t){return new Pi({type:`pipe`,in:e,out:t})}var Ii=h(`ZodReadonly`,(e,t)=>{xn.init(e,t),Y.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Li(e){return new Ii({type:`readonly`,innerType:e})}var Ri=h(`ZodCustom`,(e,t)=>{Cn.init(e,t),Y.init(e,t)});function zi(e,t={}){return hr(Ri,e,t)}function Bi(e){return gr(e)}var Vi=function(){function e(e){this.groups=[],this.each=!1,this.context=void 0,this.type=e.type,this.name=e.name,this.target=e.target,this.propertyName=e.propertyName,this.constraints=e?.constraints,this.constraintCls=e.constraintCls,this.validationTypeOptions=e.validationTypeOptions,e.validationOptions&&(this.message=e.validationOptions.message,this.groups=e.validationOptions.groups,this.always=e.validationOptions.always,this.each=e.validationOptions.each,this.context=e.validationOptions.context)}return e}(),Hi=function(){function e(){}return e.prototype.transform=function(e){var t=[];return Object.keys(e.properties).forEach(function(n){e.properties[n].forEach(function(r){var i={message:r.message,groups:r.groups,always:r.always,each:r.each},a={type:r.type,name:r.name,target:e.name,propertyName:n,constraints:r.constraints,validationTypeOptions:r.options,validationOptions:i};t.push(new Vi(a))})}),t},e}(),Ui=function(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)},Wi=function(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a},Gi=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))};(function(){function e(){this.validationMetadatas=new Map,this.constraintMetadatas=new Map}return Object.defineProperty(e.prototype,"hasValidationMetaData",{get:function(){return!!this.validationMetadatas.size},enumerable:!1,configurable:!0}),e.prototype.addValidationSchema=function(e){var t=this;new Hi().transform(e).forEach(function(e){return t.addValidationMetadata(e)})},e.prototype.addValidationMetadata=function(e){var t=this.validationMetadatas.get(e.target);t?t.push(e):this.validationMetadatas.set(e.target,[e])},e.prototype.addConstraintMetadata=function(e){var t=this.constraintMetadatas.get(e.target);t?t.push(e):this.constraintMetadatas.set(e.target,[e])},e.prototype.groupByPropertyName=function(e){var t={};return e.forEach(function(e){t[e.propertyName]||(t[e.propertyName]=[]),t[e.propertyName].push(e)}),t},e.prototype.getTargetValidationMetadatas=function(e,t,n,r,i){var a,o,s=function(e){return e.always===void 0?e.groups&&e.groups.length?!1:n:e.always},c=function(e){return!!(r&&(!i||!i.length)&&e.groups&&e.groups.length)},l=(this.validationMetadatas.get(e)||[]).filter(function(n){return n.target!==e&&n.target!==t?!1:s(n)?!0:c(n)?!1:i&&i.length>0?n.groups&&!!n.groups.find(function(e){return i.indexOf(e)!==-1}):!0}),u=[];try{for(var d=Ui(this.validationMetadatas.entries()),f=d.next();!f.done;f=d.next()){var p=Wi(f.value,2),ee=p[0],m=p[1];e.prototype instanceof ee&&u.push.apply(u,Gi([],Wi(m),!1))}}catch(e){a={error:e}}finally{try{f&&!f.done&&(o=d.return)&&o.call(d)}finally{if(a)throw a.error}}var te=u.filter(function(t){return typeof t.target==`string`||t.target===e||t.target instanceof Function&&!(e.prototype instanceof t.target)?!1:s(t)?!0:c(t)?!1:i&&i.length>0?t.groups&&!!t.groups.find(function(e){return i.indexOf(e)!==-1}):!0}).filter(function(e){return!l.find(function(t){return t.propertyName===e.propertyName&&t.type===e.type})});return l.concat(te)},e.prototype.getTargetValidatorConstraints=function(e){return this.constraintMetadatas.get(e)||[]},e})(),function(){function e(){}return e.isValid=function(e){var t=this;return e!==`isValid`&&e!==`getMessage`&&Object.keys(this).map(function(e){return t[e]}).indexOf(e)!==-1},e.CUSTOM_VALIDATION=`customValidation`,e.NESTED_VALIDATION=`nestedValidation`,e.PROMISE_VALIDATION=`promiseValidation`,e.CONDITIONAL_VALIDATION=`conditionalValidation`,e.WHITELIST=`whitelistValidation`,e.IS_DEFINED=`isDefined`,e}();var Ki=new(function(){function e(){this.instances=[]}return e.prototype.get=function(e){var t=this.instances.find(function(t){return t.type===e});return t||(t={type:e,object:new e},this.instances.push(t)),t.object},e}()),qi,Q;function Ji(e){if(qi)try{var t=qi.get(e);if(t||!Q||!Q.fallback)return t}catch(e){if(!Q||!Q.fallbackOnErrors)throw e}return Ki.get(e)}(function(){function e(e,t,n){n===void 0&&(n=!1),this.target=e,this.name=t,this.async=n}return Object.defineProperty(e.prototype,"instance",{get:function(){return Ji(this.target)},enumerable:!1,configurable:!0}),e})();var $=function(e){return e.ACTOR=`ACTOR`,e.ADDRESS=`ADDRESS`,e.ARRAY=`ARRAY`,e.BOOLEAN=`BOOLEAN`,e.CURRENCY=`CURRENCY`,e.DATE=`DATE`,e.DATE_TIME=`DATE_TIME`,e.EMAILS=`EMAILS`,e.FILES=`FILES`,e.FULL_NAME=`FULL_NAME`,e.LINKS=`LINKS`,e.MORPH_RELATION=`MORPH_RELATION`,e.MULTI_SELECT=`MULTI_SELECT`,e.NUMBER=`NUMBER`,e.NUMERIC=`NUMERIC`,e.PHONES=`PHONES`,e.POSITION=`POSITION`,e.RATING=`RATING`,e.RAW_JSON=`RAW_JSON`,e.RELATION=`RELATION`,e.RICH_TEXT=`RICH_TEXT`,e.SELECT=`SELECT`,e.TEXT=`TEXT`,e.TS_VECTOR=`TS_VECTOR`,e.UUID=`UUID`,e}({}),Yi=function(e){return e.EMAIL=`EMAIL`,e.CALENDAR=`CALENDAR`,e.WORKFLOW=`WORKFLOW`,e.AGENT=`AGENT`,e.API=`API`,e.IMPORT=`IMPORT`,e.MANUAL=`MANUAL`,e.SYSTEM=`SYSTEM`,e.WEBHOOK=`WEBHOOK`,e.APPLICATION=`APPLICATION`,e}({}),Xi={type:$.ACTOR,properties:[{name:`source`,type:$.SELECT,hidden:!1,isRequired:!0,options:Object.keys(Yi).map((e,t)=>({id:p(),label:`${Yi[e].toLowerCase()}`,value:e,position:t}))},{name:`workspaceMemberId`,type:$.UUID,hidden:`input`,isRequired:!1},{name:`name`,type:$.TEXT,hidden:`input`,isRequired:!0},{name:`context`,type:$.RAW_JSON,hidden:!1,isRequired:!1}]},Zi={type:$.ADDRESS,properties:[{name:`addressStreet1`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressStreet2`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressCity`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressPostcode`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressState`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressCountry`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`addressLat`,type:$.NUMERIC,hidden:!1,isRequired:!1},{name:`addressLng`,type:$.NUMERIC,hidden:!1,isRequired:!1}]},Qi={type:$.CURRENCY,properties:[{name:`amountMicros`,type:$.NUMERIC,hidden:!1,isRequired:!1},{name:`currencyCode`,type:$.TEXT,hidden:!1,isRequired:!1}]},$i={type:$.EMAILS,properties:[{name:`primaryEmail`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`additionalEmails`,type:$.RAW_JSON,hidden:!1,isRequired:!1}]},ea={type:$.FULL_NAME,properties:[{name:`firstName`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!1},{name:`lastName`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!1}]},ta={type:$.LINKS,properties:[{name:`primaryLinkLabel`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`primaryLinkUrl`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`secondaryLinks`,type:$.RAW_JSON,hidden:!1,isRequired:!1}]},na={type:$.PHONES,properties:[{name:`primaryPhoneNumber`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`primaryPhoneCountryCode`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`primaryPhoneCallingCode`,type:$.TEXT,hidden:!1,isRequired:!1,isIncludedInUniqueConstraint:!0},{name:`additionalPhones`,type:$.RAW_JSON,hidden:!1,isRequired:!1}]},ra={type:$.RICH_TEXT,properties:[{name:`blocknote`,type:$.TEXT,hidden:!1,isRequired:!1},{name:`markdown`,type:$.TEXT,hidden:!1,isRequired:!1}]};pi({blocknote:Vr().nullable().optional(),markdown:Vr().nullable()}),new Map([[$.LINKS,ta],[$.CURRENCY,Qi],[$.FULL_NAME,ea],[$.ADDRESS,Zi],[$.ACTOR,Xi],[$.EMAILS,$i],[$.PHONES,na],[$.RICH_TEXT,ra]]),$.RELATION,$.MORPH_RELATION,$.FILES,$.TS_VECTOR,$.TEXT,$.ARRAY,$.BOOLEAN,$.DATE,$.DATE_TIME,$.NUMBER,$.NUMERIC,$.RAW_JSON,$.RICH_TEXT,$.SELECT,$.MULTI_SELECT;var ia=`TWENTY_API_KEY`,aa=`TWENTY_API_URL`,oa=`TWENTY_APP_ACCESS_TOKEN`,sa=`TWENTY_APP_APPLICATION_ACCESS_TOKEN`,ca=`TWENTY_FUNCTIONS_URL`;Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return oa}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return ca}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return sa}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return aa}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return ia}});
|
|
@@ -2485,6 +2485,6 @@ pi({
|
|
|
2485
2485
|
]), $.RELATION, $.MORPH_RELATION, $.FILES, $.TS_VECTOR, $.TEXT, $.ARRAY, $.BOOLEAN, $.DATE, $.DATE_TIME, $.NUMBER, $.NUMERIC, $.RAW_JSON, $.RICH_TEXT, $.SELECT, $.MULTI_SELECT;
|
|
2486
2486
|
//#endregion
|
|
2487
2487
|
//#region ../twenty-shared/dist/application.mjs
|
|
2488
|
-
var ia = "TWENTY_API_KEY", aa = "TWENTY_API_URL", oa = "TWENTY_APP_ACCESS_TOKEN", sa = "TWENTY_FUNCTIONS_URL";
|
|
2488
|
+
var ia = "TWENTY_API_KEY", aa = "TWENTY_API_URL", oa = "TWENTY_APP_ACCESS_TOKEN", sa = "TWENTY_APP_APPLICATION_ACCESS_TOKEN", ca = "TWENTY_FUNCTIONS_URL";
|
|
2489
2489
|
//#endregion
|
|
2490
|
-
export { oa as i, sa as n, aa as r, ia as t };
|
|
2490
|
+
export { oa as a, ca as i, sa as n, aa as r, ia as t };
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
type CoreApiClientStubOptions = {
|
|
2
|
+
url?: string;
|
|
3
|
+
headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
|
|
4
|
+
fetcher?: (operation: unknown) => Promise<unknown>;
|
|
5
|
+
fetch?: typeof globalThis.fetch;
|
|
6
|
+
batch?: unknown;
|
|
7
|
+
runAs?: 'user' | 'application';
|
|
8
|
+
};
|
|
1
9
|
export declare class CoreApiClient {
|
|
2
10
|
query: any;
|
|
3
11
|
mutation: any;
|
|
4
12
|
upload: any;
|
|
5
|
-
constructor();
|
|
13
|
+
constructor(_options?: CoreApiClientStubOptions);
|
|
6
14
|
}
|
|
15
|
+
export {};
|
package/dist/core.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./chunk-DWNI8pZO.js");var t=class{constructor(){throw Error("CoreApiClient was not generated. Install this app on a Twenty instance or run `yarn twenty dev`.")}},n=e.t({});exports.CoreApiClient=t,Object.defineProperty(exports,"CoreSchema",{enumerable:!0,get:function(){return n}});
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./chunk-DWNI8pZO.js");var t=class{constructor(e){throw Error("CoreApiClient was not generated. Install this app on a Twenty instance or run `yarn twenty dev`.")}},n=e.t({});exports.CoreApiClient=t,Object.defineProperty(exports,"CoreSchema",{enumerable:!0,get:function(){return n}});
|
package/dist/core.mjs
CHANGED
|
@@ -7,7 +7,7 @@ var e = Object.defineProperty, t = (t, n) => {
|
|
|
7
7
|
});
|
|
8
8
|
return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
|
|
9
9
|
}, n = class {
|
|
10
|
-
constructor() {
|
|
10
|
+
constructor(e) {
|
|
11
11
|
throw Error("CoreApiClient was not generated. Install this app on a Twenty instance or run `yarn twenty dev`.");
|
|
12
12
|
}
|
|
13
13
|
}, r = /* @__PURE__ */ t({});
|
|
@@ -8,7 +8,10 @@ type ClientOptions = {
|
|
|
8
8
|
fetch?: typeof globalThis.fetch;
|
|
9
9
|
batch?: unknown;
|
|
10
10
|
};
|
|
11
|
-
type
|
|
11
|
+
type TwentyClientRunAs = 'user' | 'application';
|
|
12
|
+
type TwentyGeneratedClientOptions = ClientOptions & {
|
|
13
|
+
runAs?: TwentyClientRunAs;
|
|
14
|
+
};
|
|
12
15
|
export declare class TwentyGeneratedClient {
|
|
13
16
|
private client;
|
|
14
17
|
private url;
|
package/dist/generate.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./chunk-DWNI8pZO.js"),t=require("./application-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./chunk-DWNI8pZO.js"),t=require("./application-jIH-TLc8.js");let n=require("node:fs/promises"),r=require("node:path"),i=require("esbuild"),a=require("graphql"),o=require("lodash/camelCase.js");o=e.n(o);let s=require("node:fs"),c=require("node:os"),l=require("prettier/standalone");l=e.n(l);let u=require("prettier/plugins/graphql");u=e.n(u);let d=require("prettier/plugins/typescript");d=e.n(d);let f=require("prettier/plugins/estree");f=e.n(f);let p=require("lodash/uniq.js");p=e.n(p);let ee=require("node:url");var te=`// __STRIPPED_DURING_INJECTION_START__`,ne=`// __STRIPPED_DURING_INJECTION_END__`,m=`// __UPLOAD_FILE_START__`,h=`// __UPLOAD_FILE_END__`,g=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),_=(e,t)=>{let n=e;return n=n.replace(RegExp(`${g(te)}[\\s\\S]*?${g(ne)}\\n?`),``),n=n.replace(`'__TWENTY_DEFAULT_URL__'`,t.defaultUrl),n=n.replace(/TwentyGeneratedClient/g,t.apiClientName),t.includeUploadFile?(n=n.replace(RegExp(`\\s*${g(m)}\\n`),`
|
|
2
2
|
`),n=n.replace(RegExp(`\\s*${g(h)}\\n`),`
|
|
3
3
|
`)):n=n.replace(RegExp(`\\s*${g(m)}[\\s\\S]*?${g(h)}\\n?`),`
|
|
4
4
|
`),`\n// ${t.apiClientName} (auto-injected by twenty-client-sdk)\n${n}`},v=e=>(0,n.mkdir)(e,{recursive:!0}),y=async e=>{let t;try{t=await(0,n.readdir)(e)}catch(t){if(t instanceof Error&&`code`in t&&t.code===`ENOENT`){await(0,n.mkdir)(e,{recursive:!0});return}throw t}await Promise.all(t.map(t=>(0,n.rm)((0,r.join)(e,t),{recursive:!0,force:!0})))},b=async(e,t)=>{try{await(0,n.rename)(e,t)}catch(r){if(r instanceof Error&&`code`in r&&r.code===`EXDEV`)await(0,n.cp)(e,t,{recursive:!0}),await(0,n.rm)(e,{recursive:!0,force:!0});else throw r}},x=e=>(0,n.rm)(e,{recursive:!0,force:!0}),re=e=>{let{root:t}=(0,r.parse)(e),n=e.slice(t.length).split(/[\\/]/).filter(Boolean).length,i=(0,r.resolve)((0,c.homedir)()),a=e===i||i.startsWith(`${e}/`);if(e===t||n<2||a)throw Error(`Refusing to recursively clear unsafe path: ${e}`)},S=async(e,t=!1)=>{let n=(0,r.resolve)(...e);t&&(re(n),await s.promises.rm(n,{recursive:!0,force:!0})),await s.promises.mkdir(n,{recursive:!0})},C=async(e,t)=>{let n=(0,r.resolve)(...e,`..`);await s.promises.mkdir(n,{recursive:!0}),await s.promises.writeFile((0,r.resolve)(...e),t)},w=`./runtime`,T=e=>e?`${e.name}GenqlSelection`:``,ie=e=>{let t=e.config?.endpoint?`"${e.config.endpoint}"`:`undefined`,n=e.config?.fetchImport;return`
|
|
@@ -1125,9 +1125,18 @@ declare class GenqlError extends Error {
|
|
|
1125
1125
|
// __STRIPPED_DURING_INJECTION_END__
|
|
1126
1126
|
|
|
1127
1127
|
const APP_ACCESS_TOKEN_ENV_KEY = 'TWENTY_APP_ACCESS_TOKEN';
|
|
1128
|
+
const APP_APPLICATION_ACCESS_TOKEN_ENV_KEY =
|
|
1129
|
+
'TWENTY_APP_APPLICATION_ACCESS_TOKEN';
|
|
1128
1130
|
const API_KEY_ENV_KEY = 'TWENTY_API_KEY';
|
|
1129
1131
|
|
|
1130
|
-
|
|
1132
|
+
// The default acts as the person who triggered the run, limited to their role
|
|
1133
|
+
// intersected with the application's, and as the application alone when nobody
|
|
1134
|
+
// triggered it. 'application' asks for the application's access either way.
|
|
1135
|
+
type TwentyClientRunAs = 'user' | 'application';
|
|
1136
|
+
|
|
1137
|
+
type TwentyGeneratedClientOptions = ClientOptions & {
|
|
1138
|
+
runAs?: TwentyClientRunAs;
|
|
1139
|
+
};
|
|
1131
1140
|
|
|
1132
1141
|
type ProcessEnvironment = Record<string, string | undefined>;
|
|
1133
1142
|
|
|
@@ -1251,6 +1260,7 @@ export class TwentyGeneratedClient {
|
|
|
1251
1260
|
fetch: customFetchImplementation,
|
|
1252
1261
|
fetcher: _fetcher,
|
|
1253
1262
|
batch: _batch,
|
|
1263
|
+
runAs,
|
|
1254
1264
|
...requestOptions
|
|
1255
1265
|
} = merged;
|
|
1256
1266
|
|
|
@@ -1265,10 +1275,15 @@ export class TwentyGeneratedClient {
|
|
|
1265
1275
|
typeof headers === 'function' ? undefined : headers,
|
|
1266
1276
|
);
|
|
1267
1277
|
|
|
1268
|
-
// Priority: explicit header >
|
|
1278
|
+
// Priority: explicit header > the token for the requested access > api key
|
|
1279
|
+
// (legacy).
|
|
1269
1280
|
this.authorizationToken =
|
|
1270
1281
|
tokenFromHeaders ??
|
|
1271
|
-
processEnvironment[
|
|
1282
|
+
processEnvironment[
|
|
1283
|
+
runAs === 'application'
|
|
1284
|
+
? APP_APPLICATION_ACCESS_TOKEN_ENV_KEY
|
|
1285
|
+
: APP_ACCESS_TOKEN_ENV_KEY
|
|
1286
|
+
] ??
|
|
1272
1287
|
processEnvironment[API_KEY_ENV_KEY] ??
|
|
1273
1288
|
null;
|
|
1274
1289
|
|
|
@@ -1559,9 +1574,18 @@ declare class GenqlError extends Error {
|
|
|
1559
1574
|
// __STRIPPED_DURING_INJECTION_END__
|
|
1560
1575
|
|
|
1561
1576
|
const APP_ACCESS_TOKEN_ENV_KEY = 'TWENTY_APP_ACCESS_TOKEN';
|
|
1577
|
+
const APP_APPLICATION_ACCESS_TOKEN_ENV_KEY =
|
|
1578
|
+
'TWENTY_APP_APPLICATION_ACCESS_TOKEN';
|
|
1562
1579
|
const API_KEY_ENV_KEY = 'TWENTY_API_KEY';
|
|
1563
1580
|
|
|
1564
|
-
|
|
1581
|
+
// The default acts as the person who triggered the run, limited to their role
|
|
1582
|
+
// intersected with the application's, and as the application alone when nobody
|
|
1583
|
+
// triggered it. 'application' asks for the application's access either way.
|
|
1584
|
+
type TwentyClientRunAs = 'user' | 'application';
|
|
1585
|
+
|
|
1586
|
+
type TwentyGeneratedClientOptions = ClientOptions & {
|
|
1587
|
+
runAs?: TwentyClientRunAs;
|
|
1588
|
+
};
|
|
1565
1589
|
|
|
1566
1590
|
type ProcessEnvironment = Record<string, string | undefined>;
|
|
1567
1591
|
|
|
@@ -1685,6 +1709,7 @@ export class TwentyGeneratedClient {
|
|
|
1685
1709
|
fetch: customFetchImplementation,
|
|
1686
1710
|
fetcher: _fetcher,
|
|
1687
1711
|
batch: _batch,
|
|
1712
|
+
runAs,
|
|
1688
1713
|
...requestOptions
|
|
1689
1714
|
} = merged;
|
|
1690
1715
|
|
|
@@ -1699,10 +1724,15 @@ export class TwentyGeneratedClient {
|
|
|
1699
1724
|
typeof headers === 'function' ? undefined : headers,
|
|
1700
1725
|
);
|
|
1701
1726
|
|
|
1702
|
-
// Priority: explicit header >
|
|
1727
|
+
// Priority: explicit header > the token for the requested access > api key
|
|
1728
|
+
// (legacy).
|
|
1703
1729
|
this.authorizationToken =
|
|
1704
1730
|
tokenFromHeaders ??
|
|
1705
|
-
processEnvironment[
|
|
1731
|
+
processEnvironment[
|
|
1732
|
+
runAs === 'application'
|
|
1733
|
+
? APP_APPLICATION_ACCESS_TOKEN_ENV_KEY
|
|
1734
|
+
: APP_ACCESS_TOKEN_ENV_KEY
|
|
1735
|
+
] ??
|
|
1706
1736
|
processEnvironment[API_KEY_ENV_KEY] ??
|
|
1707
1737
|
null;
|
|
1708
1738
|
|
package/dist/generate.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as e } from "./application-
|
|
1
|
+
import { r as e } from "./application-uUo_d2Xg.mjs";
|
|
2
2
|
import { appendFile as t, copyFile as n, cp as r, mkdir as i, readdir as a, rename as o, rm as s, writeFile as c } from "node:fs/promises";
|
|
3
3
|
import { dirname as l, join as u, parse as ee, relative as d, resolve as f } from "node:path";
|
|
4
4
|
import { build as p } from "esbuild";
|
|
@@ -522,7 +522,7 @@ var ot = async (e) => {
|
|
|
522
522
|
JSON: "Record<string, unknown>",
|
|
523
523
|
UUID: "string"
|
|
524
524
|
}, Q = "core/generated", $ = async ({ schema: n, outputPath: r, clientWrapperTemplateSource: i }) => {
|
|
525
|
-
let a = i ?? "// Ambient type stubs for the genql-generated code this template gets\n// injected into. They enable full typecheck/lint on this file.\n// __STRIPPED_DURING_INJECTION_START__\ntype QueryGenqlSelection = Record<string, unknown>;\ntype MutationGenqlSelection = Record<string, unknown>;\ntype GraphqlOperation = Record<string, unknown>;\n\ntype ClientOptions = {\n url?: string;\n headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n fetcher?: (\n operation: GraphqlOperation | GraphqlOperation[],\n ) => Promise<unknown>;\n fetch?: typeof globalThis.fetch;\n batch?: unknown;\n};\n\ntype Client = {\n query: (\n request: QueryGenqlSelection & { __name?: string },\n ) => Promise<unknown>;\n mutation: (\n request: MutationGenqlSelection & { __name?: string },\n ) => Promise<unknown>;\n};\n\ndeclare function createClient(options: ClientOptions): Client;\n\ndeclare class GenqlError extends Error {\n constructor(errors: unknown, data: unknown);\n}\n// __STRIPPED_DURING_INJECTION_END__\n\nconst APP_ACCESS_TOKEN_ENV_KEY = 'TWENTY_APP_ACCESS_TOKEN';\nconst API_KEY_ENV_KEY = 'TWENTY_API_KEY';\n\ntype TwentyGeneratedClientOptions = ClientOptions;\n\ntype ProcessEnvironment = Record<string, string | undefined>;\n\ntype GraphqlErrorPayloadEntry = {\n message?: string;\n extensions?: { code?: string };\n};\n\ntype GraphqlResponsePayload = {\n data?: Record<string, unknown>;\n errors?: GraphqlErrorPayloadEntry[];\n};\n\ntype GraphqlResponse = {\n status: number;\n statusText: string;\n payload: GraphqlResponsePayload | null;\n rawBody: string;\n};\n\nconst getProcessEnvironment = (): ProcessEnvironment => {\n const processObject = (\n globalThis as { process?: { env?: ProcessEnvironment } }\n ).process;\n\n return processObject?.env ?? {};\n};\n\nconst getTokenFromAuthorizationHeader = (\n authorizationHeader: string | undefined,\n): string | null => {\n if (typeof authorizationHeader !== 'string') {\n return null;\n }\n\n const trimmedAuthorizationHeader = authorizationHeader.trim();\n\n if (trimmedAuthorizationHeader.length === 0) {\n return null;\n }\n\n if (trimmedAuthorizationHeader === 'Bearer') {\n return null;\n }\n\n if (trimmedAuthorizationHeader.startsWith('Bearer ')) {\n return trimmedAuthorizationHeader.slice('Bearer '.length).trim();\n }\n\n return trimmedAuthorizationHeader;\n};\n\nconst getTokenFromHeaders = (\n headers: HeadersInit | undefined,\n): string | null => {\n if (!headers) {\n return null;\n }\n\n if (headers instanceof Headers) {\n return getTokenFromAuthorizationHeader(\n headers.get('Authorization') ?? undefined,\n );\n }\n\n if (Array.isArray(headers)) {\n const matchedAuthorizationHeader = headers.find(\n ([headerName]) => headerName.toLowerCase() === 'authorization',\n );\n\n return getTokenFromAuthorizationHeader(matchedAuthorizationHeader?.[1]);\n }\n\n const headersRecord = headers as Record<string, string | undefined>;\n\n return getTokenFromAuthorizationHeader(\n headersRecord.Authorization ?? headersRecord.authorization,\n );\n};\n\nconst hasAuthenticationErrorInGraphqlPayload = (\n payload: GraphqlResponsePayload | null,\n): boolean => {\n if (!payload?.errors) {\n return false;\n }\n\n return payload.errors.some((graphqlError) => {\n return (\n graphqlError.extensions?.code === 'UNAUTHENTICATED' ||\n graphqlError.message?.toLowerCase() === 'unauthorized'\n );\n });\n};\n\nconst defaultOptions: TwentyGeneratedClientOptions = {\n url: '__TWENTY_DEFAULT_URL__',\n headers: {\n 'Content-Type': 'application/json',\n },\n};\n\nexport class TwentyGeneratedClient {\n private client: Client;\n private url: string;\n private requestOptions: RequestInit;\n private headers: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n private fetchImplementation: typeof globalThis.fetch | null;\n private authorizationToken: string | null;\n private refreshAccessTokenPromise: Promise<string | null> | null = null;\n\n constructor(options?: TwentyGeneratedClientOptions) {\n const merged: TwentyGeneratedClientOptions = {\n ...defaultOptions,\n ...options,\n };\n\n const {\n url,\n headers,\n fetch: customFetchImplementation,\n fetcher: _fetcher,\n batch: _batch,\n ...requestOptions\n } = merged;\n\n this.url = url ?? '';\n this.requestOptions = requestOptions;\n this.headers = headers ?? {};\n this.fetchImplementation =\n customFetchImplementation ?? globalThis.fetch ?? null;\n\n const processEnvironment = getProcessEnvironment();\n const tokenFromHeaders = getTokenFromHeaders(\n typeof headers === 'function' ? undefined : headers,\n );\n\n // Priority: explicit header > app access token > api key (legacy).\n this.authorizationToken =\n tokenFromHeaders ??\n processEnvironment[APP_ACCESS_TOKEN_ENV_KEY] ??\n processEnvironment[API_KEY_ENV_KEY] ??\n null;\n\n this.client = createClient({\n ...merged,\n headers: undefined,\n fetcher: async (operation) =>\n this.executeGraphqlRequestWithOptionalRefresh({\n operation,\n }),\n });\n }\n\n query<R extends QueryGenqlSelection>(request: R & { __name?: string }) {\n return this.client.query(request);\n }\n\n mutation<R extends MutationGenqlSelection>(request: R & { __name?: string }) {\n return this.client.mutation(request);\n }\n\n // __UPLOAD_FILE_START__\n async uploadFile(\n fileBuffer: Buffer,\n filename: string,\n contentType: string = 'application/octet-stream',\n fieldMetadataUniversalIdentifier: string,\n ): Promise<{\n id: string;\n path: string;\n size: number;\n createdAt: string;\n url: string;\n }> {\n const form = new FormData();\n\n form.append(\n 'operations',\n JSON.stringify({\n query: `mutation UploadFilesFieldFileByUniversalIdentifier($file: Upload!, $fieldMetadataUniversalIdentifier: String!) {\n uploadFilesFieldFileByUniversalIdentifier(file: $file, fieldMetadataUniversalIdentifier: $fieldMetadataUniversalIdentifier) { id path size createdAt url }\n }`,\n variables: {\n file: null,\n fieldMetadataUniversalIdentifier,\n },\n }),\n );\n form.append('map', JSON.stringify({ '0': ['variables.file'] }));\n form.append(\n '0',\n new Blob([fileBuffer as BlobPart], { type: contentType }),\n filename,\n );\n\n const result = await this.executeGraphqlRequestWithOptionalRefresh({\n operation: form,\n headers: {},\n requestInit: {\n method: 'POST',\n },\n });\n\n if (result.errors) {\n throw new GenqlError(result.errors, result.data);\n }\n\n const data = result.data as Record<string, unknown>;\n\n return data.uploadFilesFieldFileByUniversalIdentifier as {\n id: string;\n path: string;\n size: number;\n createdAt: string;\n url: string;\n };\n }\n // __UPLOAD_FILE_END__\n\n private async executeGraphqlRequestWithOptionalRefresh({\n operation,\n headers,\n requestInit,\n }: {\n operation: GraphqlOperation | GraphqlOperation[] | FormData;\n headers?: HeadersInit;\n requestInit?: RequestInit;\n }) {\n const firstResponse = await this.executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token: this.authorizationToken,\n });\n\n if (this.shouldRefreshToken(firstResponse)) {\n const refreshedAccessToken = await this.requestRefreshedAccessToken();\n\n if (refreshedAccessToken) {\n const retryResponse = await this.executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token: refreshedAccessToken,\n });\n\n return this.assertResponseIsSuccessful(retryResponse);\n }\n }\n\n return this.assertResponseIsSuccessful(firstResponse);\n }\n\n private async executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token,\n }: {\n operation: GraphqlOperation | GraphqlOperation[] | FormData;\n headers?: HeadersInit;\n requestInit?: RequestInit;\n token: string | null;\n }): Promise<GraphqlResponse> {\n if (!this.fetchImplementation) {\n throw new Error(\n 'Global `fetch` function is not available, ' +\n 'pass a fetch implementation to the Twenty client',\n );\n }\n\n const resolvedHeaders = await this.resolveHeaders();\n const requestHeaders = new Headers(resolvedHeaders);\n\n if (headers) {\n new Headers(headers).forEach((value, key) =>\n requestHeaders.set(key, value),\n );\n }\n\n if (operation instanceof FormData) {\n requestHeaders.delete('Content-Type');\n } else {\n requestHeaders.set('Content-Type', 'application/json');\n }\n\n if (token) {\n requestHeaders.set('Authorization', `Bearer ${token}`);\n } else {\n requestHeaders.delete('Authorization');\n }\n\n const response = await this.fetchImplementation.call(globalThis, this.url, {\n ...this.requestOptions,\n ...requestInit,\n method: requestInit?.method ?? 'POST',\n headers: requestHeaders,\n body:\n operation instanceof FormData ? operation : JSON.stringify(operation),\n });\n\n const rawBody = await response.text();\n let payload: GraphqlResponsePayload | null = null;\n\n if (rawBody.trim().length > 0) {\n try {\n payload = JSON.parse(rawBody) as GraphqlResponsePayload;\n } catch {\n payload = null;\n }\n }\n\n return {\n status: response.status,\n statusText: response.statusText,\n payload,\n rawBody,\n };\n }\n\n private async resolveHeaders(): Promise<HeadersInit> {\n if (typeof this.headers === 'function') {\n return (await this.headers()) ?? {};\n }\n\n return this.headers ?? {};\n }\n\n private shouldRefreshToken(response: GraphqlResponse): boolean {\n if (response.status === 401) {\n return true;\n }\n\n return hasAuthenticationErrorInGraphqlPayload(response.payload);\n }\n\n private assertResponseIsSuccessful(response: GraphqlResponse) {\n if (response.status < 200 || response.status >= 300) {\n throw new Error(`${response.statusText}: ${response.rawBody}`);\n }\n\n if (response.payload === null) {\n throw new Error('Invalid JSON response');\n }\n\n return response.payload;\n }\n\n private async requestRefreshedAccessToken(): Promise<string | null> {\n const refreshAccessTokenFunction = (\n globalThis as {\n frontComponentHostCommunicationApi?: {\n requestAccessTokenRefresh?: () => Promise<string>;\n };\n }\n ).frontComponentHostCommunicationApi?.requestAccessTokenRefresh;\n\n if (typeof refreshAccessTokenFunction !== 'function') {\n return null;\n }\n\n if (!this.refreshAccessTokenPromise) {\n this.refreshAccessTokenPromise = refreshAccessTokenFunction()\n .then((refreshedAccessToken) => {\n if (\n typeof refreshedAccessToken !== 'string' ||\n refreshedAccessToken.length === 0\n ) {\n return null;\n }\n\n this.setAuthorizationToken(refreshedAccessToken);\n\n return refreshedAccessToken;\n })\n .catch((refreshError: unknown) => {\n console.error('Twenty client: token refresh failed', refreshError);\n\n return null;\n })\n .finally(() => {\n this.refreshAccessTokenPromise = null;\n });\n }\n\n return this.refreshAccessTokenPromise;\n }\n\n private setAuthorizationToken(token: string) {\n this.authorizationToken = token;\n\n const processEnvironment = getProcessEnvironment();\n\n processEnvironment[APP_ACCESS_TOKEN_ENV_KEY] = token;\n }\n}\n", o = `${r}.tmp`;
|
|
525
|
+
let a = i ?? "// Ambient type stubs for the genql-generated code this template gets\n// injected into. They enable full typecheck/lint on this file.\n// __STRIPPED_DURING_INJECTION_START__\ntype QueryGenqlSelection = Record<string, unknown>;\ntype MutationGenqlSelection = Record<string, unknown>;\ntype GraphqlOperation = Record<string, unknown>;\n\ntype ClientOptions = {\n url?: string;\n headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n fetcher?: (\n operation: GraphqlOperation | GraphqlOperation[],\n ) => Promise<unknown>;\n fetch?: typeof globalThis.fetch;\n batch?: unknown;\n};\n\ntype Client = {\n query: (\n request: QueryGenqlSelection & { __name?: string },\n ) => Promise<unknown>;\n mutation: (\n request: MutationGenqlSelection & { __name?: string },\n ) => Promise<unknown>;\n};\n\ndeclare function createClient(options: ClientOptions): Client;\n\ndeclare class GenqlError extends Error {\n constructor(errors: unknown, data: unknown);\n}\n// __STRIPPED_DURING_INJECTION_END__\n\nconst APP_ACCESS_TOKEN_ENV_KEY = 'TWENTY_APP_ACCESS_TOKEN';\nconst APP_APPLICATION_ACCESS_TOKEN_ENV_KEY =\n 'TWENTY_APP_APPLICATION_ACCESS_TOKEN';\nconst API_KEY_ENV_KEY = 'TWENTY_API_KEY';\n\n// The default acts as the person who triggered the run, limited to their role\n// intersected with the application's, and as the application alone when nobody\n// triggered it. 'application' asks for the application's access either way.\ntype TwentyClientRunAs = 'user' | 'application';\n\ntype TwentyGeneratedClientOptions = ClientOptions & {\n runAs?: TwentyClientRunAs;\n};\n\ntype ProcessEnvironment = Record<string, string | undefined>;\n\ntype GraphqlErrorPayloadEntry = {\n message?: string;\n extensions?: { code?: string };\n};\n\ntype GraphqlResponsePayload = {\n data?: Record<string, unknown>;\n errors?: GraphqlErrorPayloadEntry[];\n};\n\ntype GraphqlResponse = {\n status: number;\n statusText: string;\n payload: GraphqlResponsePayload | null;\n rawBody: string;\n};\n\nconst getProcessEnvironment = (): ProcessEnvironment => {\n const processObject = (\n globalThis as { process?: { env?: ProcessEnvironment } }\n ).process;\n\n return processObject?.env ?? {};\n};\n\nconst getTokenFromAuthorizationHeader = (\n authorizationHeader: string | undefined,\n): string | null => {\n if (typeof authorizationHeader !== 'string') {\n return null;\n }\n\n const trimmedAuthorizationHeader = authorizationHeader.trim();\n\n if (trimmedAuthorizationHeader.length === 0) {\n return null;\n }\n\n if (trimmedAuthorizationHeader === 'Bearer') {\n return null;\n }\n\n if (trimmedAuthorizationHeader.startsWith('Bearer ')) {\n return trimmedAuthorizationHeader.slice('Bearer '.length).trim();\n }\n\n return trimmedAuthorizationHeader;\n};\n\nconst getTokenFromHeaders = (\n headers: HeadersInit | undefined,\n): string | null => {\n if (!headers) {\n return null;\n }\n\n if (headers instanceof Headers) {\n return getTokenFromAuthorizationHeader(\n headers.get('Authorization') ?? undefined,\n );\n }\n\n if (Array.isArray(headers)) {\n const matchedAuthorizationHeader = headers.find(\n ([headerName]) => headerName.toLowerCase() === 'authorization',\n );\n\n return getTokenFromAuthorizationHeader(matchedAuthorizationHeader?.[1]);\n }\n\n const headersRecord = headers as Record<string, string | undefined>;\n\n return getTokenFromAuthorizationHeader(\n headersRecord.Authorization ?? headersRecord.authorization,\n );\n};\n\nconst hasAuthenticationErrorInGraphqlPayload = (\n payload: GraphqlResponsePayload | null,\n): boolean => {\n if (!payload?.errors) {\n return false;\n }\n\n return payload.errors.some((graphqlError) => {\n return (\n graphqlError.extensions?.code === 'UNAUTHENTICATED' ||\n graphqlError.message?.toLowerCase() === 'unauthorized'\n );\n });\n};\n\nconst defaultOptions: TwentyGeneratedClientOptions = {\n url: '__TWENTY_DEFAULT_URL__',\n headers: {\n 'Content-Type': 'application/json',\n },\n};\n\nexport class TwentyGeneratedClient {\n private client: Client;\n private url: string;\n private requestOptions: RequestInit;\n private headers: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n private fetchImplementation: typeof globalThis.fetch | null;\n private authorizationToken: string | null;\n private refreshAccessTokenPromise: Promise<string | null> | null = null;\n\n constructor(options?: TwentyGeneratedClientOptions) {\n const merged: TwentyGeneratedClientOptions = {\n ...defaultOptions,\n ...options,\n };\n\n const {\n url,\n headers,\n fetch: customFetchImplementation,\n fetcher: _fetcher,\n batch: _batch,\n runAs,\n ...requestOptions\n } = merged;\n\n this.url = url ?? '';\n this.requestOptions = requestOptions;\n this.headers = headers ?? {};\n this.fetchImplementation =\n customFetchImplementation ?? globalThis.fetch ?? null;\n\n const processEnvironment = getProcessEnvironment();\n const tokenFromHeaders = getTokenFromHeaders(\n typeof headers === 'function' ? undefined : headers,\n );\n\n // Priority: explicit header > the token for the requested access > api key\n // (legacy).\n this.authorizationToken =\n tokenFromHeaders ??\n processEnvironment[\n runAs === 'application'\n ? APP_APPLICATION_ACCESS_TOKEN_ENV_KEY\n : APP_ACCESS_TOKEN_ENV_KEY\n ] ??\n processEnvironment[API_KEY_ENV_KEY] ??\n null;\n\n this.client = createClient({\n ...merged,\n headers: undefined,\n fetcher: async (operation) =>\n this.executeGraphqlRequestWithOptionalRefresh({\n operation,\n }),\n });\n }\n\n query<R extends QueryGenqlSelection>(request: R & { __name?: string }) {\n return this.client.query(request);\n }\n\n mutation<R extends MutationGenqlSelection>(request: R & { __name?: string }) {\n return this.client.mutation(request);\n }\n\n // __UPLOAD_FILE_START__\n async uploadFile(\n fileBuffer: Buffer,\n filename: string,\n contentType: string = 'application/octet-stream',\n fieldMetadataUniversalIdentifier: string,\n ): Promise<{\n id: string;\n path: string;\n size: number;\n createdAt: string;\n url: string;\n }> {\n const form = new FormData();\n\n form.append(\n 'operations',\n JSON.stringify({\n query: `mutation UploadFilesFieldFileByUniversalIdentifier($file: Upload!, $fieldMetadataUniversalIdentifier: String!) {\n uploadFilesFieldFileByUniversalIdentifier(file: $file, fieldMetadataUniversalIdentifier: $fieldMetadataUniversalIdentifier) { id path size createdAt url }\n }`,\n variables: {\n file: null,\n fieldMetadataUniversalIdentifier,\n },\n }),\n );\n form.append('map', JSON.stringify({ '0': ['variables.file'] }));\n form.append(\n '0',\n new Blob([fileBuffer as BlobPart], { type: contentType }),\n filename,\n );\n\n const result = await this.executeGraphqlRequestWithOptionalRefresh({\n operation: form,\n headers: {},\n requestInit: {\n method: 'POST',\n },\n });\n\n if (result.errors) {\n throw new GenqlError(result.errors, result.data);\n }\n\n const data = result.data as Record<string, unknown>;\n\n return data.uploadFilesFieldFileByUniversalIdentifier as {\n id: string;\n path: string;\n size: number;\n createdAt: string;\n url: string;\n };\n }\n // __UPLOAD_FILE_END__\n\n private async executeGraphqlRequestWithOptionalRefresh({\n operation,\n headers,\n requestInit,\n }: {\n operation: GraphqlOperation | GraphqlOperation[] | FormData;\n headers?: HeadersInit;\n requestInit?: RequestInit;\n }) {\n const firstResponse = await this.executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token: this.authorizationToken,\n });\n\n if (this.shouldRefreshToken(firstResponse)) {\n const refreshedAccessToken = await this.requestRefreshedAccessToken();\n\n if (refreshedAccessToken) {\n const retryResponse = await this.executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token: refreshedAccessToken,\n });\n\n return this.assertResponseIsSuccessful(retryResponse);\n }\n }\n\n return this.assertResponseIsSuccessful(firstResponse);\n }\n\n private async executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token,\n }: {\n operation: GraphqlOperation | GraphqlOperation[] | FormData;\n headers?: HeadersInit;\n requestInit?: RequestInit;\n token: string | null;\n }): Promise<GraphqlResponse> {\n if (!this.fetchImplementation) {\n throw new Error(\n 'Global `fetch` function is not available, ' +\n 'pass a fetch implementation to the Twenty client',\n );\n }\n\n const resolvedHeaders = await this.resolveHeaders();\n const requestHeaders = new Headers(resolvedHeaders);\n\n if (headers) {\n new Headers(headers).forEach((value, key) =>\n requestHeaders.set(key, value),\n );\n }\n\n if (operation instanceof FormData) {\n requestHeaders.delete('Content-Type');\n } else {\n requestHeaders.set('Content-Type', 'application/json');\n }\n\n if (token) {\n requestHeaders.set('Authorization', `Bearer ${token}`);\n } else {\n requestHeaders.delete('Authorization');\n }\n\n const response = await this.fetchImplementation.call(globalThis, this.url, {\n ...this.requestOptions,\n ...requestInit,\n method: requestInit?.method ?? 'POST',\n headers: requestHeaders,\n body:\n operation instanceof FormData ? operation : JSON.stringify(operation),\n });\n\n const rawBody = await response.text();\n let payload: GraphqlResponsePayload | null = null;\n\n if (rawBody.trim().length > 0) {\n try {\n payload = JSON.parse(rawBody) as GraphqlResponsePayload;\n } catch {\n payload = null;\n }\n }\n\n return {\n status: response.status,\n statusText: response.statusText,\n payload,\n rawBody,\n };\n }\n\n private async resolveHeaders(): Promise<HeadersInit> {\n if (typeof this.headers === 'function') {\n return (await this.headers()) ?? {};\n }\n\n return this.headers ?? {};\n }\n\n private shouldRefreshToken(response: GraphqlResponse): boolean {\n if (response.status === 401) {\n return true;\n }\n\n return hasAuthenticationErrorInGraphqlPayload(response.payload);\n }\n\n private assertResponseIsSuccessful(response: GraphqlResponse) {\n if (response.status < 200 || response.status >= 300) {\n throw new Error(`${response.statusText}: ${response.rawBody}`);\n }\n\n if (response.payload === null) {\n throw new Error('Invalid JSON response');\n }\n\n return response.payload;\n }\n\n private async requestRefreshedAccessToken(): Promise<string | null> {\n const refreshAccessTokenFunction = (\n globalThis as {\n frontComponentHostCommunicationApi?: {\n requestAccessTokenRefresh?: () => Promise<string>;\n };\n }\n ).frontComponentHostCommunicationApi?.requestAccessTokenRefresh;\n\n if (typeof refreshAccessTokenFunction !== 'function') {\n return null;\n }\n\n if (!this.refreshAccessTokenPromise) {\n this.refreshAccessTokenPromise = refreshAccessTokenFunction()\n .then((refreshedAccessToken) => {\n if (\n typeof refreshedAccessToken !== 'string' ||\n refreshedAccessToken.length === 0\n ) {\n return null;\n }\n\n this.setAuthorizationToken(refreshedAccessToken);\n\n return refreshedAccessToken;\n })\n .catch((refreshError: unknown) => {\n console.error('Twenty client: token refresh failed', refreshError);\n\n return null;\n })\n .finally(() => {\n this.refreshAccessTokenPromise = null;\n });\n }\n\n return this.refreshAccessTokenPromise;\n }\n\n private setAuthorizationToken(token: string) {\n this.authorizationToken = token;\n\n const processEnvironment = getProcessEnvironment();\n\n processEnvironment[APP_ACCESS_TOKEN_ENV_KEY] = token;\n }\n}\n", o = `${r}.tmp`;
|
|
526
526
|
await O(o), await k(o);
|
|
527
527
|
try {
|
|
528
528
|
await Z({
|
|
@@ -575,7 +575,7 @@ var ot = async (e) => {
|
|
|
575
575
|
JSON: "Record<string, unknown>",
|
|
576
576
|
UUID: "string"
|
|
577
577
|
}, dt = async ({ schema: n, outputPath: r, clientWrapperTemplateSource: i }) => {
|
|
578
|
-
let a = i ?? "// Ambient type stubs for the genql-generated code this template gets\n// injected into. They enable full typecheck/lint on this file.\n// __STRIPPED_DURING_INJECTION_START__\ntype QueryGenqlSelection = Record<string, unknown>;\ntype MutationGenqlSelection = Record<string, unknown>;\ntype GraphqlOperation = Record<string, unknown>;\n\ntype ClientOptions = {\n url?: string;\n headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n fetcher?: (\n operation: GraphqlOperation | GraphqlOperation[],\n ) => Promise<unknown>;\n fetch?: typeof globalThis.fetch;\n batch?: unknown;\n};\n\ntype Client = {\n query: (\n request: QueryGenqlSelection & { __name?: string },\n ) => Promise<unknown>;\n mutation: (\n request: MutationGenqlSelection & { __name?: string },\n ) => Promise<unknown>;\n};\n\ndeclare function createClient(options: ClientOptions): Client;\n\ndeclare class GenqlError extends Error {\n constructor(errors: unknown, data: unknown);\n}\n// __STRIPPED_DURING_INJECTION_END__\n\nconst APP_ACCESS_TOKEN_ENV_KEY = 'TWENTY_APP_ACCESS_TOKEN';\nconst API_KEY_ENV_KEY = 'TWENTY_API_KEY';\n\ntype TwentyGeneratedClientOptions = ClientOptions;\n\ntype ProcessEnvironment = Record<string, string | undefined>;\n\ntype GraphqlErrorPayloadEntry = {\n message?: string;\n extensions?: { code?: string };\n};\n\ntype GraphqlResponsePayload = {\n data?: Record<string, unknown>;\n errors?: GraphqlErrorPayloadEntry[];\n};\n\ntype GraphqlResponse = {\n status: number;\n statusText: string;\n payload: GraphqlResponsePayload | null;\n rawBody: string;\n};\n\nconst getProcessEnvironment = (): ProcessEnvironment => {\n const processObject = (\n globalThis as { process?: { env?: ProcessEnvironment } }\n ).process;\n\n return processObject?.env ?? {};\n};\n\nconst getTokenFromAuthorizationHeader = (\n authorizationHeader: string | undefined,\n): string | null => {\n if (typeof authorizationHeader !== 'string') {\n return null;\n }\n\n const trimmedAuthorizationHeader = authorizationHeader.trim();\n\n if (trimmedAuthorizationHeader.length === 0) {\n return null;\n }\n\n if (trimmedAuthorizationHeader === 'Bearer') {\n return null;\n }\n\n if (trimmedAuthorizationHeader.startsWith('Bearer ')) {\n return trimmedAuthorizationHeader.slice('Bearer '.length).trim();\n }\n\n return trimmedAuthorizationHeader;\n};\n\nconst getTokenFromHeaders = (\n headers: HeadersInit | undefined,\n): string | null => {\n if (!headers) {\n return null;\n }\n\n if (headers instanceof Headers) {\n return getTokenFromAuthorizationHeader(\n headers.get('Authorization') ?? undefined,\n );\n }\n\n if (Array.isArray(headers)) {\n const matchedAuthorizationHeader = headers.find(\n ([headerName]) => headerName.toLowerCase() === 'authorization',\n );\n\n return getTokenFromAuthorizationHeader(matchedAuthorizationHeader?.[1]);\n }\n\n const headersRecord = headers as Record<string, string | undefined>;\n\n return getTokenFromAuthorizationHeader(\n headersRecord.Authorization ?? headersRecord.authorization,\n );\n};\n\nconst hasAuthenticationErrorInGraphqlPayload = (\n payload: GraphqlResponsePayload | null,\n): boolean => {\n if (!payload?.errors) {\n return false;\n }\n\n return payload.errors.some((graphqlError) => {\n return (\n graphqlError.extensions?.code === 'UNAUTHENTICATED' ||\n graphqlError.message?.toLowerCase() === 'unauthorized'\n );\n });\n};\n\nconst defaultOptions: TwentyGeneratedClientOptions = {\n url: '__TWENTY_DEFAULT_URL__',\n headers: {\n 'Content-Type': 'application/json',\n },\n};\n\nexport class TwentyGeneratedClient {\n private client: Client;\n private url: string;\n private requestOptions: RequestInit;\n private headers: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n private fetchImplementation: typeof globalThis.fetch | null;\n private authorizationToken: string | null;\n private refreshAccessTokenPromise: Promise<string | null> | null = null;\n\n constructor(options?: TwentyGeneratedClientOptions) {\n const merged: TwentyGeneratedClientOptions = {\n ...defaultOptions,\n ...options,\n };\n\n const {\n url,\n headers,\n fetch: customFetchImplementation,\n fetcher: _fetcher,\n batch: _batch,\n ...requestOptions\n } = merged;\n\n this.url = url ?? '';\n this.requestOptions = requestOptions;\n this.headers = headers ?? {};\n this.fetchImplementation =\n customFetchImplementation ?? globalThis.fetch ?? null;\n\n const processEnvironment = getProcessEnvironment();\n const tokenFromHeaders = getTokenFromHeaders(\n typeof headers === 'function' ? undefined : headers,\n );\n\n // Priority: explicit header > app access token > api key (legacy).\n this.authorizationToken =\n tokenFromHeaders ??\n processEnvironment[APP_ACCESS_TOKEN_ENV_KEY] ??\n processEnvironment[API_KEY_ENV_KEY] ??\n null;\n\n this.client = createClient({\n ...merged,\n headers: undefined,\n fetcher: async (operation) =>\n this.executeGraphqlRequestWithOptionalRefresh({\n operation,\n }),\n });\n }\n\n query<R extends QueryGenqlSelection>(request: R & { __name?: string }) {\n return this.client.query(request);\n }\n\n mutation<R extends MutationGenqlSelection>(request: R & { __name?: string }) {\n return this.client.mutation(request);\n }\n\n // __UPLOAD_FILE_START__\n async uploadFile(\n fileBuffer: Buffer,\n filename: string,\n contentType: string = 'application/octet-stream',\n fieldMetadataUniversalIdentifier: string,\n ): Promise<{\n id: string;\n path: string;\n size: number;\n createdAt: string;\n url: string;\n }> {\n const form = new FormData();\n\n form.append(\n 'operations',\n JSON.stringify({\n query: `mutation UploadFilesFieldFileByUniversalIdentifier($file: Upload!, $fieldMetadataUniversalIdentifier: String!) {\n uploadFilesFieldFileByUniversalIdentifier(file: $file, fieldMetadataUniversalIdentifier: $fieldMetadataUniversalIdentifier) { id path size createdAt url }\n }`,\n variables: {\n file: null,\n fieldMetadataUniversalIdentifier,\n },\n }),\n );\n form.append('map', JSON.stringify({ '0': ['variables.file'] }));\n form.append(\n '0',\n new Blob([fileBuffer as BlobPart], { type: contentType }),\n filename,\n );\n\n const result = await this.executeGraphqlRequestWithOptionalRefresh({\n operation: form,\n headers: {},\n requestInit: {\n method: 'POST',\n },\n });\n\n if (result.errors) {\n throw new GenqlError(result.errors, result.data);\n }\n\n const data = result.data as Record<string, unknown>;\n\n return data.uploadFilesFieldFileByUniversalIdentifier as {\n id: string;\n path: string;\n size: number;\n createdAt: string;\n url: string;\n };\n }\n // __UPLOAD_FILE_END__\n\n private async executeGraphqlRequestWithOptionalRefresh({\n operation,\n headers,\n requestInit,\n }: {\n operation: GraphqlOperation | GraphqlOperation[] | FormData;\n headers?: HeadersInit;\n requestInit?: RequestInit;\n }) {\n const firstResponse = await this.executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token: this.authorizationToken,\n });\n\n if (this.shouldRefreshToken(firstResponse)) {\n const refreshedAccessToken = await this.requestRefreshedAccessToken();\n\n if (refreshedAccessToken) {\n const retryResponse = await this.executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token: refreshedAccessToken,\n });\n\n return this.assertResponseIsSuccessful(retryResponse);\n }\n }\n\n return this.assertResponseIsSuccessful(firstResponse);\n }\n\n private async executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token,\n }: {\n operation: GraphqlOperation | GraphqlOperation[] | FormData;\n headers?: HeadersInit;\n requestInit?: RequestInit;\n token: string | null;\n }): Promise<GraphqlResponse> {\n if (!this.fetchImplementation) {\n throw new Error(\n 'Global `fetch` function is not available, ' +\n 'pass a fetch implementation to the Twenty client',\n );\n }\n\n const resolvedHeaders = await this.resolveHeaders();\n const requestHeaders = new Headers(resolvedHeaders);\n\n if (headers) {\n new Headers(headers).forEach((value, key) =>\n requestHeaders.set(key, value),\n );\n }\n\n if (operation instanceof FormData) {\n requestHeaders.delete('Content-Type');\n } else {\n requestHeaders.set('Content-Type', 'application/json');\n }\n\n if (token) {\n requestHeaders.set('Authorization', `Bearer ${token}`);\n } else {\n requestHeaders.delete('Authorization');\n }\n\n const response = await this.fetchImplementation.call(globalThis, this.url, {\n ...this.requestOptions,\n ...requestInit,\n method: requestInit?.method ?? 'POST',\n headers: requestHeaders,\n body:\n operation instanceof FormData ? operation : JSON.stringify(operation),\n });\n\n const rawBody = await response.text();\n let payload: GraphqlResponsePayload | null = null;\n\n if (rawBody.trim().length > 0) {\n try {\n payload = JSON.parse(rawBody) as GraphqlResponsePayload;\n } catch {\n payload = null;\n }\n }\n\n return {\n status: response.status,\n statusText: response.statusText,\n payload,\n rawBody,\n };\n }\n\n private async resolveHeaders(): Promise<HeadersInit> {\n if (typeof this.headers === 'function') {\n return (await this.headers()) ?? {};\n }\n\n return this.headers ?? {};\n }\n\n private shouldRefreshToken(response: GraphqlResponse): boolean {\n if (response.status === 401) {\n return true;\n }\n\n return hasAuthenticationErrorInGraphqlPayload(response.payload);\n }\n\n private assertResponseIsSuccessful(response: GraphqlResponse) {\n if (response.status < 200 || response.status >= 300) {\n throw new Error(`${response.statusText}: ${response.rawBody}`);\n }\n\n if (response.payload === null) {\n throw new Error('Invalid JSON response');\n }\n\n return response.payload;\n }\n\n private async requestRefreshedAccessToken(): Promise<string | null> {\n const refreshAccessTokenFunction = (\n globalThis as {\n frontComponentHostCommunicationApi?: {\n requestAccessTokenRefresh?: () => Promise<string>;\n };\n }\n ).frontComponentHostCommunicationApi?.requestAccessTokenRefresh;\n\n if (typeof refreshAccessTokenFunction !== 'function') {\n return null;\n }\n\n if (!this.refreshAccessTokenPromise) {\n this.refreshAccessTokenPromise = refreshAccessTokenFunction()\n .then((refreshedAccessToken) => {\n if (\n typeof refreshedAccessToken !== 'string' ||\n refreshedAccessToken.length === 0\n ) {\n return null;\n }\n\n this.setAuthorizationToken(refreshedAccessToken);\n\n return refreshedAccessToken;\n })\n .catch((refreshError: unknown) => {\n console.error('Twenty client: token refresh failed', refreshError);\n\n return null;\n })\n .finally(() => {\n this.refreshAccessTokenPromise = null;\n });\n }\n\n return this.refreshAccessTokenPromise;\n }\n\n private setAuthorizationToken(token: string) {\n this.authorizationToken = token;\n\n const processEnvironment = getProcessEnvironment();\n\n processEnvironment[APP_ACCESS_TOKEN_ENV_KEY] = token;\n }\n}\n";
|
|
578
|
+
let a = i ?? "// Ambient type stubs for the genql-generated code this template gets\n// injected into. They enable full typecheck/lint on this file.\n// __STRIPPED_DURING_INJECTION_START__\ntype QueryGenqlSelection = Record<string, unknown>;\ntype MutationGenqlSelection = Record<string, unknown>;\ntype GraphqlOperation = Record<string, unknown>;\n\ntype ClientOptions = {\n url?: string;\n headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n fetcher?: (\n operation: GraphqlOperation | GraphqlOperation[],\n ) => Promise<unknown>;\n fetch?: typeof globalThis.fetch;\n batch?: unknown;\n};\n\ntype Client = {\n query: (\n request: QueryGenqlSelection & { __name?: string },\n ) => Promise<unknown>;\n mutation: (\n request: MutationGenqlSelection & { __name?: string },\n ) => Promise<unknown>;\n};\n\ndeclare function createClient(options: ClientOptions): Client;\n\ndeclare class GenqlError extends Error {\n constructor(errors: unknown, data: unknown);\n}\n// __STRIPPED_DURING_INJECTION_END__\n\nconst APP_ACCESS_TOKEN_ENV_KEY = 'TWENTY_APP_ACCESS_TOKEN';\nconst APP_APPLICATION_ACCESS_TOKEN_ENV_KEY =\n 'TWENTY_APP_APPLICATION_ACCESS_TOKEN';\nconst API_KEY_ENV_KEY = 'TWENTY_API_KEY';\n\n// The default acts as the person who triggered the run, limited to their role\n// intersected with the application's, and as the application alone when nobody\n// triggered it. 'application' asks for the application's access either way.\ntype TwentyClientRunAs = 'user' | 'application';\n\ntype TwentyGeneratedClientOptions = ClientOptions & {\n runAs?: TwentyClientRunAs;\n};\n\ntype ProcessEnvironment = Record<string, string | undefined>;\n\ntype GraphqlErrorPayloadEntry = {\n message?: string;\n extensions?: { code?: string };\n};\n\ntype GraphqlResponsePayload = {\n data?: Record<string, unknown>;\n errors?: GraphqlErrorPayloadEntry[];\n};\n\ntype GraphqlResponse = {\n status: number;\n statusText: string;\n payload: GraphqlResponsePayload | null;\n rawBody: string;\n};\n\nconst getProcessEnvironment = (): ProcessEnvironment => {\n const processObject = (\n globalThis as { process?: { env?: ProcessEnvironment } }\n ).process;\n\n return processObject?.env ?? {};\n};\n\nconst getTokenFromAuthorizationHeader = (\n authorizationHeader: string | undefined,\n): string | null => {\n if (typeof authorizationHeader !== 'string') {\n return null;\n }\n\n const trimmedAuthorizationHeader = authorizationHeader.trim();\n\n if (trimmedAuthorizationHeader.length === 0) {\n return null;\n }\n\n if (trimmedAuthorizationHeader === 'Bearer') {\n return null;\n }\n\n if (trimmedAuthorizationHeader.startsWith('Bearer ')) {\n return trimmedAuthorizationHeader.slice('Bearer '.length).trim();\n }\n\n return trimmedAuthorizationHeader;\n};\n\nconst getTokenFromHeaders = (\n headers: HeadersInit | undefined,\n): string | null => {\n if (!headers) {\n return null;\n }\n\n if (headers instanceof Headers) {\n return getTokenFromAuthorizationHeader(\n headers.get('Authorization') ?? undefined,\n );\n }\n\n if (Array.isArray(headers)) {\n const matchedAuthorizationHeader = headers.find(\n ([headerName]) => headerName.toLowerCase() === 'authorization',\n );\n\n return getTokenFromAuthorizationHeader(matchedAuthorizationHeader?.[1]);\n }\n\n const headersRecord = headers as Record<string, string | undefined>;\n\n return getTokenFromAuthorizationHeader(\n headersRecord.Authorization ?? headersRecord.authorization,\n );\n};\n\nconst hasAuthenticationErrorInGraphqlPayload = (\n payload: GraphqlResponsePayload | null,\n): boolean => {\n if (!payload?.errors) {\n return false;\n }\n\n return payload.errors.some((graphqlError) => {\n return (\n graphqlError.extensions?.code === 'UNAUTHENTICATED' ||\n graphqlError.message?.toLowerCase() === 'unauthorized'\n );\n });\n};\n\nconst defaultOptions: TwentyGeneratedClientOptions = {\n url: '__TWENTY_DEFAULT_URL__',\n headers: {\n 'Content-Type': 'application/json',\n },\n};\n\nexport class TwentyGeneratedClient {\n private client: Client;\n private url: string;\n private requestOptions: RequestInit;\n private headers: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n private fetchImplementation: typeof globalThis.fetch | null;\n private authorizationToken: string | null;\n private refreshAccessTokenPromise: Promise<string | null> | null = null;\n\n constructor(options?: TwentyGeneratedClientOptions) {\n const merged: TwentyGeneratedClientOptions = {\n ...defaultOptions,\n ...options,\n };\n\n const {\n url,\n headers,\n fetch: customFetchImplementation,\n fetcher: _fetcher,\n batch: _batch,\n runAs,\n ...requestOptions\n } = merged;\n\n this.url = url ?? '';\n this.requestOptions = requestOptions;\n this.headers = headers ?? {};\n this.fetchImplementation =\n customFetchImplementation ?? globalThis.fetch ?? null;\n\n const processEnvironment = getProcessEnvironment();\n const tokenFromHeaders = getTokenFromHeaders(\n typeof headers === 'function' ? undefined : headers,\n );\n\n // Priority: explicit header > the token for the requested access > api key\n // (legacy).\n this.authorizationToken =\n tokenFromHeaders ??\n processEnvironment[\n runAs === 'application'\n ? APP_APPLICATION_ACCESS_TOKEN_ENV_KEY\n : APP_ACCESS_TOKEN_ENV_KEY\n ] ??\n processEnvironment[API_KEY_ENV_KEY] ??\n null;\n\n this.client = createClient({\n ...merged,\n headers: undefined,\n fetcher: async (operation) =>\n this.executeGraphqlRequestWithOptionalRefresh({\n operation,\n }),\n });\n }\n\n query<R extends QueryGenqlSelection>(request: R & { __name?: string }) {\n return this.client.query(request);\n }\n\n mutation<R extends MutationGenqlSelection>(request: R & { __name?: string }) {\n return this.client.mutation(request);\n }\n\n // __UPLOAD_FILE_START__\n async uploadFile(\n fileBuffer: Buffer,\n filename: string,\n contentType: string = 'application/octet-stream',\n fieldMetadataUniversalIdentifier: string,\n ): Promise<{\n id: string;\n path: string;\n size: number;\n createdAt: string;\n url: string;\n }> {\n const form = new FormData();\n\n form.append(\n 'operations',\n JSON.stringify({\n query: `mutation UploadFilesFieldFileByUniversalIdentifier($file: Upload!, $fieldMetadataUniversalIdentifier: String!) {\n uploadFilesFieldFileByUniversalIdentifier(file: $file, fieldMetadataUniversalIdentifier: $fieldMetadataUniversalIdentifier) { id path size createdAt url }\n }`,\n variables: {\n file: null,\n fieldMetadataUniversalIdentifier,\n },\n }),\n );\n form.append('map', JSON.stringify({ '0': ['variables.file'] }));\n form.append(\n '0',\n new Blob([fileBuffer as BlobPart], { type: contentType }),\n filename,\n );\n\n const result = await this.executeGraphqlRequestWithOptionalRefresh({\n operation: form,\n headers: {},\n requestInit: {\n method: 'POST',\n },\n });\n\n if (result.errors) {\n throw new GenqlError(result.errors, result.data);\n }\n\n const data = result.data as Record<string, unknown>;\n\n return data.uploadFilesFieldFileByUniversalIdentifier as {\n id: string;\n path: string;\n size: number;\n createdAt: string;\n url: string;\n };\n }\n // __UPLOAD_FILE_END__\n\n private async executeGraphqlRequestWithOptionalRefresh({\n operation,\n headers,\n requestInit,\n }: {\n operation: GraphqlOperation | GraphqlOperation[] | FormData;\n headers?: HeadersInit;\n requestInit?: RequestInit;\n }) {\n const firstResponse = await this.executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token: this.authorizationToken,\n });\n\n if (this.shouldRefreshToken(firstResponse)) {\n const refreshedAccessToken = await this.requestRefreshedAccessToken();\n\n if (refreshedAccessToken) {\n const retryResponse = await this.executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token: refreshedAccessToken,\n });\n\n return this.assertResponseIsSuccessful(retryResponse);\n }\n }\n\n return this.assertResponseIsSuccessful(firstResponse);\n }\n\n private async executeGraphqlRequest({\n operation,\n headers,\n requestInit,\n token,\n }: {\n operation: GraphqlOperation | GraphqlOperation[] | FormData;\n headers?: HeadersInit;\n requestInit?: RequestInit;\n token: string | null;\n }): Promise<GraphqlResponse> {\n if (!this.fetchImplementation) {\n throw new Error(\n 'Global `fetch` function is not available, ' +\n 'pass a fetch implementation to the Twenty client',\n );\n }\n\n const resolvedHeaders = await this.resolveHeaders();\n const requestHeaders = new Headers(resolvedHeaders);\n\n if (headers) {\n new Headers(headers).forEach((value, key) =>\n requestHeaders.set(key, value),\n );\n }\n\n if (operation instanceof FormData) {\n requestHeaders.delete('Content-Type');\n } else {\n requestHeaders.set('Content-Type', 'application/json');\n }\n\n if (token) {\n requestHeaders.set('Authorization', `Bearer ${token}`);\n } else {\n requestHeaders.delete('Authorization');\n }\n\n const response = await this.fetchImplementation.call(globalThis, this.url, {\n ...this.requestOptions,\n ...requestInit,\n method: requestInit?.method ?? 'POST',\n headers: requestHeaders,\n body:\n operation instanceof FormData ? operation : JSON.stringify(operation),\n });\n\n const rawBody = await response.text();\n let payload: GraphqlResponsePayload | null = null;\n\n if (rawBody.trim().length > 0) {\n try {\n payload = JSON.parse(rawBody) as GraphqlResponsePayload;\n } catch {\n payload = null;\n }\n }\n\n return {\n status: response.status,\n statusText: response.statusText,\n payload,\n rawBody,\n };\n }\n\n private async resolveHeaders(): Promise<HeadersInit> {\n if (typeof this.headers === 'function') {\n return (await this.headers()) ?? {};\n }\n\n return this.headers ?? {};\n }\n\n private shouldRefreshToken(response: GraphqlResponse): boolean {\n if (response.status === 401) {\n return true;\n }\n\n return hasAuthenticationErrorInGraphqlPayload(response.payload);\n }\n\n private assertResponseIsSuccessful(response: GraphqlResponse) {\n if (response.status < 200 || response.status >= 300) {\n throw new Error(`${response.statusText}: ${response.rawBody}`);\n }\n\n if (response.payload === null) {\n throw new Error('Invalid JSON response');\n }\n\n return response.payload;\n }\n\n private async requestRefreshedAccessToken(): Promise<string | null> {\n const refreshAccessTokenFunction = (\n globalThis as {\n frontComponentHostCommunicationApi?: {\n requestAccessTokenRefresh?: () => Promise<string>;\n };\n }\n ).frontComponentHostCommunicationApi?.requestAccessTokenRefresh;\n\n if (typeof refreshAccessTokenFunction !== 'function') {\n return null;\n }\n\n if (!this.refreshAccessTokenPromise) {\n this.refreshAccessTokenPromise = refreshAccessTokenFunction()\n .then((refreshedAccessToken) => {\n if (\n typeof refreshedAccessToken !== 'string' ||\n refreshedAccessToken.length === 0\n ) {\n return null;\n }\n\n this.setAuthorizationToken(refreshedAccessToken);\n\n return refreshedAccessToken;\n })\n .catch((refreshError: unknown) => {\n console.error('Twenty client: token refresh failed', refreshError);\n\n return null;\n })\n .finally(() => {\n this.refreshAccessTokenPromise = null;\n });\n }\n\n return this.refreshAccessTokenPromise;\n }\n\n private setAuthorizationToken(token: string) {\n this.authorizationToken = token;\n\n const processEnvironment = getProcessEnvironment();\n\n processEnvironment[APP_ACCESS_TOKEN_ENV_KEY] = token;\n }\n}\n";
|
|
579
579
|
await O(r), await k(r), await Z({
|
|
580
580
|
schema: n,
|
|
581
581
|
output: r,
|
|
@@ -27,7 +27,10 @@ export type SubscriptionResult<fields extends SubscriptionGenqlSelection> = Fiel
|
|
|
27
27
|
export declare const generateSubscriptionOp: (fields: SubscriptionGenqlSelection & {
|
|
28
28
|
__name?: string;
|
|
29
29
|
}) => GraphqlOperation;
|
|
30
|
-
type
|
|
30
|
+
type TwentyClientRunAs = 'user' | 'application';
|
|
31
|
+
type MetadataApiClientOptions = ClientOptions & {
|
|
32
|
+
runAs?: TwentyClientRunAs;
|
|
33
|
+
};
|
|
31
34
|
export declare class MetadataApiClient {
|
|
32
35
|
private client;
|
|
33
36
|
private url;
|