@stackone/core 3.29.0 → 3.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +32 -25
- package/dist/index.d.mts +32 -25
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,__name=(e,n)=>t(e,`name`,{value:n,configurable:!0}),n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,__copyProps=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},__toESM=(n,r,a)=>(a=n==null?{}:e(i(n)),__copyProps(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let o=require("@stackone/utils"),s=require("@stackone/expressions"),c=require("@stackone/transport"),l=require("@aws-sdk/client-lambda"),u=require("node:stream"),d=require("mime-types");d=__toESM(d);let f=require("saml"),p=require("uuid"),m=require("@stackone/redaction"),h=require("node:crypto"),g=require("jose"),_=require("form-data");_=__toESM(_);const v=[`context`,`inputs`,`steps`,`intermediateSteps`,`iterator`,`result`],buildExpressionContext=(e,t={})=>{let n=t.includeCredentials??e.context?.flowType===`refresh_authentication`,r=v.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{});return n&&`credentials`in e&&(r.credentials=e.credentials),r},y={hris:{title:`HRIS`,key:`hris`,description:`Human Resource Information System`},crm:{title:`CRM`,key:`crm`,description:`Customer Relationship Management`},ats:{title:`ATS`,key:`ats`,description:`Applicant Tracking System`},lms:{title:`LMS`,key:`lms`,description:`Learning Management System`},marketing:{title:`Marketing`,key:`marketing`,description:`Marketing`},filestorage:{title:`File Storage`,key:`filestorage`,description:`File Storage`},iam:{title:`IAM`,key:`iam`,description:`Identity and Access Management`},internal:{title:`Internal`,key:`internal`,description:`Category for internal actions`},action:{title:`Action`,key:`action`,description:`Action`}},getCategoryDetails=e=>y[e.toLowerCase()]??null,isValidCategory=e=>!!y[e.toLowerCase()],b=(0,o.encodeToBase64)(`so1!`),x=RegExp(`(?<!\\\\):`,`g`),S=RegExp(`(?<!\\\\),`,`g`);var C=class CoreError extends Error{constructor({category:e,name:t,type:n,context:r,message:i}){super(i),this.name=t??`CoreError`,this.type=n,this.category=e,this.context=r,Error.captureStackTrace&&Error.captureStackTrace(this,CoreError)}toString(){let e=this.message?`: ${this.message}`:``;return`${this.category}-${this.name} [${this.type}]${e}`}},BaseCompositeIdError=class extends C{constructor(e,t,n){super({category:`CompositeId`,name:t??`BaseCompositeIdError`,type:e,message:n})}},CompositeIdMissingHeaderError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_MISSING_HEADER_ERROR`,`CompositeIdMissingHeaderError`,e??`Invalid compositeId, missing header`)}},CompositeIdMissingBodyError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_MISSING_BODY_ERROR`,`CompositeIdMissingBodyError`,e??`Invalid compositeId, missing body`)}},CompositeIdUnknownIdentifierError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_UNKNOWN_IDENTIFIER_ERROR`,`CompositeIdUnknownIdentifierError`,e??`Invalid compositeId, unknown identifier`)}},CompositeIdUnsupportedVersionError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_UNSUPPORTED_VERSION_ERROR`,`CompositeIdUnsupportedVersionError`,e??`Invalid compositeId, unsupported version`)}};const isSingleIdentifier=e=>!(0,o.isMissing)(e)&&`value`in e&&e.value!==void 0,isMultipleIdentifier=e=>!(0,o.isMissing)(e)&&`identifiers`in e&&e.identifiers!==void 0,encodeCompositeId=(e,t={version:1})=>{if(t.version===1)return encodeIdV1(getComposedIdV1(e,t.aliases));throw new CompositeIdUnsupportedVersionError(`Cannot generate ID, unsupported version number: ${t.version}`)},decodeCompositeId=(e,t={version:1})=>{let n=decodeId(e,t),r={};return n&&n.split(S).forEach(e=>{let[n,i]=e.split(x),a=getOriginalKey(n,t.aliases??{});r[a]=unescapeValue(i)}),r},getComposedIdV1=(e,t={})=>{if(isSingleIdentifier(e))return getSingleIdentifierString({identifier:e,compositeIdAliases:t,isSoleIdentifier:!0});if(isMultipleIdentifier(e))return e.identifiers.map(e=>getSingleIdentifierString({identifier:e,compositeIdAliases:t,isSoleIdentifier:!1})).join(`,`);throw new CompositeIdUnknownIdentifierError},getSingleIdentifierString=({identifier:e,compositeIdAliases:t,isSoleIdentifier:n})=>[n?`id`:t[e.key]||e.key,escapeValue(e.value)].filter(Boolean).join(`:`),getOriginalKey=(e,t)=>Object.keys(t).find(n=>t[n]===e)??e,decodeId=(e,t)=>{if(t.version===1)return decodeIdV1(e);throw new CompositeIdUnsupportedVersionError(`Cannot decode ID, unsupported version number: ${t.version}`)},encodeIdV1=e=>`${b}${(0,o.encodeToBase64)(e)}`,decodeIdV1=e=>{if(!e.startsWith(b))throw new CompositeIdMissingHeaderError(`Trying to decode an ID without the header: ${e}`);let t=e.split(b)[1];if(!t)throw new CompositeIdMissingBodyError(`Trying to decode an ID without a body: ${e}`);return(0,o.decodeFromBase64)(t)},escapeValue=e=>[`,`,`:`].reduce((e,t)=>e.replace(t,`\\`+t),e),unescapeValue=e=>[`,`,`:`].reduce((e,t)=>{let n=`\\`+t;return e.replace(RegExp(`\\\\`+n,`g`),t)},e),isCompositeId=e=>(0,o.isMissing)(e)?!1:e.startsWith(b),computeDataSyncFingerprint=e=>{let{incremental:t}=e;return(0,o.getContentHash)({indexField:Array.isArray(e.indexField)?e.indexField:[e.indexField],incremental:t?{type:t.type,iteratorKey:t.iterator.key,iteratorIn:t.iterator.in,format:`format`in t?t.format:null}:null})},evaluateExternalAccountIdExtractor=(e,t)=>{let n=e.events?.externalAccountIdExtractor;if((0,o.isMissing)(n)||typeof n.result!=`string`||n.result.trim().length===0)return;let r=(0,s.safeEvaluate)(`{{${n.result.trim()}}}`,t);if(!(0,o.isMissing)(r)){if(typeof r==`string`){let e=r.trim();return e.length>0?e:void 0}if(typeof r==`number`||typeof r==`bigint`||typeof r==`boolean`)return String(r)}},evaluateEventRouter=(e,t)=>{let n=e.events?.router;if(!(0,o.isMissing)(n))for(let e of n.rules){let n=(0,s.safeEvaluate)(`{{${e.when.trim()}}}`,t);if(n!==null&&n!==!1&&n!==void 0){let n=e.then.input?Object.fromEntries(Object.entries(e.then.input).map(([e,n])=>[e,(0,s.safeEvaluate)(`{{${String(n).trim()}}}`,t)])):void 0;return{action:e.then.action,input:n}}}},w={email:/^[^\s@]+@(?=[^\s@]+\.[^\s@])[^\s@]+$/,url:/^https?:\/\/[^\s/?#]+(?:[/?#]\S*)?$/,uri:/^[a-zA-Z][a-zA-Z0-9+.-]*:\S+$/,uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,date:/^\d{4}-\d{2}-\d{2}$/,datetime:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}(?::?\d{2})?)?$/},T={employment_status:[`active`,`inactive`,`terminated`,`pending`,`leave`],employment_type:[`full_time`,`part_time`,`contractor`,`intern`,`temporary`],gender:[`male`,`female`,`non_binary`,`other`,`prefer_not_to_say`],marital_status:[`single`,`married`,`divorced`,`widowed`,`domestic_partnership`]},getInputEnumValues=e=>T[e],isValidEnumRef=e=>e in T,E=[`preview`,`beta`,`ga`,`deprecated`,`internal`],D=[`auth`,`downstream-change`,`bug-fix`,`new-actions`],O=[`sync`,`async`],k=(0,o.zStrictObject)({r:o.z.record(o.z.string(),(0,o.zStrictObject)({n:o.z.number().optional().nullable(),c:o.z.string().optional().nullable(),p:o.z.number().optional().nullable()})),v:o.z.number(),t:o.z.number()}),A=(0,o.zStrictObject)({remote:o.z.record(o.z.string(),(0,o.zStrictObject)({pageNumber:o.z.number().optional(),providerPageCursor:o.z.string().optional(),position:o.z.number().optional()})),version:o.z.number(),timestamp:o.z.number()}),minifyCursor=e=>(0,o.encodeToBase64)(JSON.stringify(minifyCursorObject(e))),minifyCursorObject=e=>{let{remote:t,version:n,timestamp:r}=e;return{r:Object.fromEntries(Object.entries(t).map(([e,{pageNumber:t,providerPageCursor:n,position:r}])=>[e,{n:t,c:n,p:r}])),v:n,t:r}},expandCursor=e=>{try{if((0,o.isString)(e)){let t=(0,o.decodeFromBase64)(e),n=JSON.parse(t);return expandCursorObject(k.parse(n))}else return A.parse(e),e}catch{return null}},expandCursorObject=e=>{let{r:t,v:n,t:r}=e;return{remote:Object.fromEntries(Object.entries(t).map(([e,{n:t,c:n,p:r}])=>[e,{pageNumber:t,providerPageCursor:n,position:r}])),version:n,timestamp:r}},areCursorsEqual=(e,t)=>{let n=typeof e==`string`?expandCursor(e):e,r=typeof t==`string`?expandCursor(t):t;if(n===null||r===null)return n===r;let{timestamp:i,...a}=n,{timestamp:s,...c}=r;return(0,o.getContentHash)(a)===(0,o.getContentHash)(c)},isCursorEmpty=({cursor:e,ignoreStepIndex:t})=>(0,o.isMissing)(e)?!0:Object.keys(e?.remote??{}).reduce((n,r)=>{let i=e?.remote?.[r];return((0,o.isMissing)(t)||r!==t.toString())&&(n=n&&(0,o.isMissing)(i.pageNumber)&&(0,o.isMissing)(i.position)&&(0,o.isMissing)(i.providerPageCursor)),n},!0),updateCursor=({cursor:e,stepIndex:t,pageNumber:n,providerPageCursor:r,position:i})=>{let a={pageNumber:n??void 0,providerPageCursor:r??void 0,position:i??void 0},s=(0,o.isMissing)(n)&&(0,o.isMissing)(r)&&(0,o.isMissing)(i);return(0,o.isMissing)(e)?{remote:s?{}:{[t]:a},version:2,timestamp:Date.now()}:s?(delete e.remote[t],e):{...e,remote:{...e.remote,[t]:a}}},isCoreError=e=>e instanceof C;function stripPaginationParams(e,t){let n=getPaginationKeys(t);if(n.length===0)return e;let r=getIteratorLocation(t);if(!r)return e;let i=e[r];if(!i||typeof i!=`object`)return e;let a={...i};for(let e of n)delete a[e];return{...e,[r]:a}}function getPaginationKeys(e){switch(e.type){case`cursor`:return[e.iterator.key];case`offset`:{let t=e;return[t.iterator.offsetKey,t.iterator.limitKey]}case`page`:{let t=e,n=[t.iterator.pageKey];return t.iterator.pageSizeKey&&n.push(t.iterator.pageSizeKey),n}default:return[]}}function getIteratorLocation(e){if(`iterator`in e&&typeof e.iterator==`object`&&e.iterator!==null)return e.iterator.in}function stripIncrementalParams(e,t){if(!t)return e;let{key:n,in:r}=t.iterator,i=e[r];if(!i||typeof i!=`object`)return e;let a={...i};return delete a[n],{...e,[r]:a}}const j={RequestTester:`REQUEST_TESTER`,ActionTester:`ACTION_TESTER`,Discode:`DISCODE`,Dashboard:`DASHBOARD`,Playground:`PLAYGROUND`,SDK:`SDK`,API:`API`,Scheduler:`SCHEDULER`,Webhook:`WEBHOOK`,Agent:`AGENT`,MCP:`MCP`,Application:`APPLICATION`,DataSync:`DATA_SYNC`,DataSyncV2:`DATA_SYNC_V2`,Internal:`INTERNAL`,ConnectionTest:`CONNECTION_TEST`},M={HTTP:`HTTP`,MCP:`MCP`,ActionRPC:`ACTION_RPC`,WebSocket:`WEBSOCKET`},N={HTTP:`HTTP`,WebSocket:`WEBSOCKET`,SSE:`SSE`},P={APIKey:`API_KEY`,SessionToken:`SESSION_TOKEN`,UserSession:`USER_SESSION`,Cookie:`COOKIE`,Webhook:`WEBHOOK`,Signature:`SIGNATURE`},browserUseStepFunction=async()=>{throw Error(`browser_use step function cannot be executed synchronously — actions using this step must have executionMode: "async" so they are dispatched to the Temporal workflow runtime`)},F=o.z.object({startUrl:o.z.string().url(),systemPrompt:o.z.string().optional(),viewport:(0,o.zStrictObject)({width:o.z.number().int().positive(),height:o.z.number().int().positive()}).optional(),locale:o.z.string().optional(),budgets:(0,o.zStrictObject)({maxDurationMs:o.z.number().int().positive(),maxSteps:o.z.number().int().positive()}),auth:(0,o.zStrictObject)({sensitiveKeys:o.z.array(o.z.string().min(1)).optional(),requiresSession:o.z.boolean().optional(),allowedDomains:o.z.array(o.z.string().min(1)).optional()}).optional()}),I=o.z.unknown(),sanitizeRaw=e=>{let t={};return e.status!=null&&(t.status=e.status),e.data!==void 0&&(t.data=e.data),e.headers!=null&&(t.headers=e.headers),e.requestUrl!=null&&(t.requestUrl=e.requestUrl),e.message!=null&&(t.message=e.message),t},isSerializedBuffer=e=>typeof e==`object`&&!!e&&e.type===`Buffer`&&Array.isArray(e.data),decodeBinaryBody=e=>{let t;if(Buffer.isBuffer(e)?t=e.toString(`utf8`):e instanceof ArrayBuffer?t=new TextDecoder().decode(new Uint8Array(e)):ArrayBuffer.isView(e)?t=new TextDecoder().decode(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):isSerializedBuffer(e)&&(t=Buffer.from(e.data).toString(`utf8`)),t===void 0)return e;try{return JSON.parse(t)}catch{return t}},decodeResponseBody=e=>({...e,data:decodeBinaryBody(e.data)}),isHttpLikeError=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`,extractTopLevelMessage=e=>{if(typeof e.message==`string`&&e.message.trim().length>0)return e.message},extractNestedErrorMessage=e=>{if(e.error!=null&&typeof e.error==`object`&&!Array.isArray(e.error)&&typeof e.error.message==`string`)return e.error.message;if(typeof e.error==`string`&&e.error.length>0)return e.error;if(typeof e.error_description==`string`&&e.error_description.length>0)return e.error_description},extractErrorMessage=(e,t)=>{let n=e.data;if(typeof n==`object`&&n&&!Array.isArray(n)){let e=extractTopLevelMessage(n);if(e!=null)return e}if(typeof e.message==`string`&&e.message.length>0)return e.message;if(typeof n==`object`&&n&&!Array.isArray(n)){let e=extractNestedErrorMessage(n);if(e!=null)return e}if(Array.isArray(n)&&n.length>0){let e=n[0];if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e,n=extractTopLevelMessage(t)??extractNestedErrorMessage(t);if(n!=null)return n}}return typeof n==`string`&&n.length>0?n:t},buildStepErrorOutput=(e,t)=>{if(e instanceof c.HttpResponseError){let n=e.message,r=decodeResponseBody(e.response);return{block:t,successful:!1,errors:[(0,c.serializeHttpResponseError)(e)],output:{statusCode:r?.status??500,message:extractErrorMessage(r,n),data:r?.data,raw:sanitizeRaw(r)}}}if(isHttpLikeError(e)){let n=decodeResponseBody(e.response),r=e instanceof Error?e.message:`HTTP error: ${n.status??500}`;return{block:t,successful:!1,errors:[(0,c.serializeHttpResponseError)(e)],output:{statusCode:n.status??500,message:extractErrorMessage(n,r),data:n.data,raw:sanitizeRaw(n)}}}return e instanceof Error?{block:t,successful:!1,errors:[(0,c.serializeHttpResponseError)(e)],output:{statusCode:500,message:e.message}}:{block:t,successful:!1,errors:[(0,c.serializeHttpResponseError)(e)],output:{statusCode:500,message:String(e)}}},isAwsCredentials=e=>!!e&&typeof e.accessKeyId==`string`&&typeof e.secretAccessKey==`string`,buildLambdaClientConfig=({region:e,endpoint:t,credentials:n})=>({region:e,...t?{endpoint:t}:{},...isAwsCredentials(n)?{credentials:{accessKeyId:n.accessKeyId,secretAccessKey:n.secretAccessKey,sessionToken:typeof n.sessionToken==`string`?n.sessionToken:void 0}}:t?{credentials:{accessKeyId:`local`,secretAccessKey:`local`}}:{}}),defaultClientFactory=e=>new l.LambdaClient(e),invokeLambda=async({lambdaName:e,payload:t,region:n,endpoint:r,invocationType:i=`RequestResponse`,qualifier:a,credentials:o,clientFactory:s=defaultClientFactory})=>{let c=s(buildLambdaClientConfig({region:n,endpoint:r,credentials:o})),u=new l.InvokeCommand({FunctionName:e,InvocationType:i,Qualifier:a,Payload:t?Buffer.from(JSON.stringify(t)):void 0}),d=await c.send(u),f=d.Payload?Buffer.from(d.Payload).toString(`utf-8`):``,p;if(f.length===0)p=void 0;else try{p=JSON.parse(f)}catch{p=f}return{statusCode:d.StatusCode??200,payload:p,functionError:d.FunctionError,executedVersion:d.ExecutedVersion}},L=(0,o.zStrictObject)({lambdaName:o.z.string(),region:o.z.string().optional(),endpoint:o.z.string().optional(),invocationType:o.z.enum([`RequestResponse`,`Event`,`DryRun`]).optional(),qualifier:o.z.string().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),condition:o.z.string().optional()}).array().optional().describe(`Key/value pairs combined into the JSON payload sent to the Lambda function`),dataKey:o.z.string().optional()}),R=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional(),executedVersion:o.z.string().optional()}).optional(),z=/\${[^}]+}/,isJsonPathLike=e=>{let t=e.trimStart();return t.startsWith(`$.`)||t.startsWith(`$[`)},hasExpressionMarker=e=>(0,s.isExpression)(e)||z.test(e)||isJsonPathLike(e),buildDataKeyExpression=e=>(0,s.isExpression)(e)||e.trimStart().startsWith(`$`)?e:`$.${e}`,B=__name((e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`||!e)return e;try{let n=(0,s.evaluate)(buildDataKeyExpression(t),e);if(n!==void 0)return n}catch{}return e[t]},`resolveDataKey`),buildPayloadFromArgs=e=>{if(!(!e||e.length===0))return e.reduce((e,t)=>(e[t.name]=t.value,e),{})},codeExecutionLambdaStepFunction=async({block:e,params:t},n=invokeLambda)=>{let r=t?.args,i=Array.isArray(r)?r:void 0,isPlainObject=e=>typeof e==`object`&&!!e,a=i?i.filter(t=>{if(!isPlainObject(t))return!0;let n=t.condition;return typeof n!=`string`||(0,s.safeEvaluate)(n,e)===!0}).map(e=>isPlainObject(e)?{...e,condition:void 0}:e):void 0,o=t?.dataKey,c=typeof o==`string`&&!z.test(o),l=t?.qualifier,u=typeof l==`string`&&!hasExpressionMarker(l),d={...t?(0,s.safeEvaluateRecord)(i===void 0?t:{...t,args:a},e):{},...c?{dataKey:o}:{},...u?{qualifier:l}:{}},f;try{f=L.parse(d)}catch(t){return buildStepErrorOutput(t,e)}let{lambdaName:p,region:m,endpoint:h,invocationType:g,qualifier:_,args:v,dataKey:y}=f,b;try{b=await n({lambdaName:p,payload:buildPayloadFromArgs(v),region:m,endpoint:h,invocationType:g,qualifier:_,credentials:e.credentials})}catch(t){return buildStepErrorOutput(t,e)}if(b.functionError){let t=typeof b.payload==`object`&&b.payload!==null&&`errorMessage`in b.payload&&typeof b.payload.errorMessage==`string`?b.payload.errorMessage:`Lambda function error: ${b.functionError}`;return{block:e,successful:!1,errors:[{message:t,kind:`lambda_function_error`,functionError:b.functionError}],output:{statusCode:b.statusCode,message:t,data:b.payload,raw:b}}}return{block:e,successful:!0,output:{data:y?B(b.payload,y):b.payload,raw:b,statusCode:b.statusCode,executedVersion:b.executedVersion}}},buildRequestContext=e=>({accountSecureId:e.context.accountSecureId,projectSecureId:e.context.projectSecureId,organizationId:e.context.organizationId,environment:e.context.environment,authConfigKey:e.context.authenticationType,provider:e.connector?.key,service:e.context.category,resource:e.connector?.key,action:e.action?.id}),V=(0,o.zStrictObject)({strategy:o.z.literal(`aws4`),service:o.z.string(),region:o.z.string().optional()}),H=(0,o.zStrictObject)({strategy:o.z.literal(`hmac`),algorithm:o.z.enum([`sha1`,`sha256`,`sha512`]).optional(),headerName:o.z.string().optional(),prefix:o.z.string().optional(),dateFormat:o.z.enum([`iso8601`,`rfc2822`]).optional(),includeHost:o.z.boolean().optional(),includeBodyHash:o.z.boolean().optional(),outputFormat:o.z.enum([`header`,`basic`]).optional(),username:o.z.string().optional()}),U=o.z.discriminatedUnion(`strategy`,[V,H]),ee=(0,o.zStrictObject)({type:o.z.literal(`none`),signing:U.optional(),redirectUri:o.z.string().optional()}),W=(0,o.zStrictObject)({type:o.z.literal(`basic`),username:o.z.string().optional(),password:o.z.string().optional(),encoding:o.z.string().optional(),redirectUri:o.z.string().optional()}),G=(0,o.zStrictObject)({type:o.z.literal(`bearer`),token:o.z.string(),includeBearer:o.z.boolean().optional().default(!0),redirectUri:o.z.string().optional()}),te=new Set([`accessToken`,`refreshToken`,`idToken`,`clientId`,`clientSecret`,`authentication_config_key`,`environment`]),K=(0,o.zStrictObject)({type:o.z.literal(`oauth2`),authorizationUrl:o.z.string().optional(),redirectUri:o.z.string().optional(),authorizationParams:o.z.record(o.z.string(),o.z.string()).optional(),tokenUrl:o.z.string().optional(),tokenParams:o.z.record(o.z.string(),o.z.string()).optional(),tokenExpiresIn:o.z.number().optional(),tokenRefreshExpiresIn:o.z.number().optional(),token:o.z.string(),includeBearer:o.z.boolean().optional().default(!0),scopes:o.z.string().optional(),scopeDelimiter:o.z.string().optional(),customHeaders:o.z.record(o.z.string(),o.z.string()).optional(),pkce:o.z.boolean().optional(),additionalTokenFields:o.z.record(o.z.string(),o.z.string().optional()).optional(),callbackParams:o.z.record(o.z.string(),o.z.string().min(1)).superRefine((e,t)=>{for(let[n,r]of Object.entries(e))te.has(r)&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[n],message:`callbackParams must not target reserved credential key "${r}"`})}).optional(),issuer:o.z.string().optional(),tokenResponse:(0,o.zStrictObject)({acceptTokenTypes:o.z.array(o.z.string()).optional(),accessToken:o.z.string().min(1).optional(),refreshToken:o.z.string().min(1).optional()}).optional()}),q=o.z.discriminatedUnion(`type`,[ee,W,G,K]),J=(0,o.zStrictObject)({certs:o.z.string().array().optional(),keys:o.z.string().array().optional()}).optional(),ne=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods).optional().default(`get`),authorization:q.optional(),responseMode:o.z.enum([`buffer`,`stream`]).optional().default(`buffer`),responseType:o.z.enum([`arraybuffer`,`blob`,`text`,`json`]).optional().default(`arraybuffer`),encoding:o.z.enum([`base64`,`utf8`,`binary`,`raw`,`none`]).optional().default(`base64`),response:(0,o.zStrictObject)({dataKey:o.z.string().optional(),fileNameKey:o.z.string().optional(),contentTypeKey:o.z.string().optional(),contentType:o.z.string().optional(),contentIsBase64:o.z.boolean().optional().default(!1),urlKey:o.z.string().optional(),forwardAuth:o.z.boolean().optional().default(!1)}).optional(),maxRedirects:o.z.number().optional().default(5),followRedirects:o.z.boolean().optional().default(!0),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}),Y=(0,o.zStrictObject)({data:o.z.union([o.z.string(),o.z.instanceof(Buffer)]).optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional(),headers:o.z.record(o.z.string(),o.z.union([o.z.string(),o.z.array(o.z.string())])).optional(),contentDisposition:o.z.string().optional(),fileMetadata:(0,o.zStrictObject)({contentType:o.z.string().optional(),contentLength:o.z.number().optional(),fileName:o.z.string().optional(),lastModified:o.z.string().optional(),etag:o.z.string().optional()}).optional(),finalUrl:o.z.string().optional()}).optional(),downloadFileStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n}=t,r=n?n.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,i=t?(0,s.safeEvaluateRecord)({...t,args:r},e):{},a={...i,customErrors:t?.customErrors},{baseUrl:l,url:u,method:d,authorization:f,args:p,responseMode:m,responseType:h,encoding:g,response:_,maxRedirects:v,followRedirects:y}=ne.parse(a),b=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,x=p?(0,c.parseRequestParameters)(p):{query:{},body:{},headers:{}},S=typeof x?.body==`string`?void 0:x?.body,C=(0,c.createAuthorizationHeaders)((0,o.notMissing)(f)?f:q.parse(b)),w={...x?.headers??{},...C},T=e.connector?.rateLimit,E=e.connector?.concurrency,D=T!==void 0||E!==void 0?{rateLimits:T,concurrency:E}:void 0,O=buildRequestContext(e);if(m===`stream`)return performStreamDownload({block:e,httpClient:e.httpClient,baseUrl:l??``,url:u,method:d,headers:w,queryParams:x?.query,body:S,maxRedirects:y?v:0,requestConfig:D,context:O,response:_,responseType:h,authHeaders:C});try{return{block:e,successful:!0,output:await performDownload({httpClient:e.httpClient,baseUrl:l??``,url:u,method:d,headers:w,queryParams:x?.query,body:S,responseType:h,encoding:g,response:_,maxRedirects:y?v:0,requestConfig:D,context:O,authHeaders:C})}}catch(t){return buildStepErrorOutput(t,e)}},performStreamDownload=async e=>{let{block:t,httpClient:n,baseUrl:r,url:i,method:a,headers:s,queryParams:c,body:l,maxRedirects:d,requestConfig:f,context:p,response:m,responseType:h,authHeaders:g}=e,_=`${r}${i}`;if(!_.startsWith(`http://`)&&!_.startsWith(`https://`))throw Error(`Invalid URL: "${_}". URL must be absolute (start with http:// or https://). Either provide a baseUrl or ensure url is a complete URL.`);if((0,o.notMissing)(m?.dataKey)||(0,o.notMissing)(m?.urlKey))try{let e=await performDownload({httpClient:n,baseUrl:r,url:i,method:a,headers:s,queryParams:c,body:l,responseType:h??`arraybuffer`,encoding:`none`,response:m,maxRedirects:d,requestConfig:f,context:p,authHeaders:g??{}}),_=Buffer.isBuffer(e.data)?e.data:Buffer.from(e.data),v={...e.fileMetadata,contentLength:_.length};return{block:t,successful:!0,streamOutput:{stream:u.Readable.from(_),headers:(0,o.notMissing)(v.contentType)?{"content-type":v.contentType}:{},contentDisposition:e.contentDisposition,fileMetadata:v}}}catch(e){return buildStepErrorOutput(e,t)}if(!n.requestStream)throw Error(`HTTP client does not support streaming. Either implement requestStream method or use responseMode: "buffer".`);try{let e=await n.requestStream({url:_,method:a,headers:s,queryParams:c,payload:l,maxRedirects:d,requestConfig:f,context:p}),r=extractFileMetadata(e.headers),i=buildContentDisposition(r);return{block:t,successful:!0,streamOutput:{stream:e.stream,headers:e.headers,contentDisposition:i,fileMetadata:r}}}catch(e){return buildStepErrorOutput(e,t)}},performDownload=async e=>{let{httpClient:t,baseUrl:n,url:r,method:i,headers:a,queryParams:o,body:s,responseType:c,encoding:l,response:u,maxRedirects:d,requestConfig:f,context:p,authHeaders:m}=e,h=`${n}${r}`;if(!h.startsWith(`http://`)&&!h.startsWith(`https://`))throw Error(`Invalid URL: "${h}". URL must be absolute (start with http:// or https://). Either provide a baseUrl or ensure url is a complete URL.`);let g=u?.urlKey||u?.dataKey?`json`:c,_=await t.request({url:h,method:i,headers:a,queryParams:o,payload:s,responseType:g===`json`?void 0:g,maxRedirects:d,requestConfig:f,context:p});if(u?.urlKey||u?.dataKey)return handleJsonResponse({httpClient:t,result:_,response:u,encoding:l,maxRedirects:d,requestConfig:f,context:p,authHeaders:m});let v=encodeFileData(_.data,l),y=extractFileMetadata(_.headers),b=buildContentDisposition(y);return{data:v,raw:_,statusCode:_?.status,message:_?.message,headers:_.headers,contentDisposition:b,fileMetadata:y,finalUrl:_?.requestUrl}},handleJsonResponse=async e=>{let{httpClient:t,result:n,response:r,encoding:i,maxRedirects:a,requestConfig:s,context:c,authHeaders:l}=e,u=n.data;if(r.urlKey){let e=extractValueByPath(u,r.urlKey);if(typeof e==`string`){let n=await t.request({url:e,method:`get`,headers:r.forwardAuth?l:{},responseType:`arraybuffer`,maxRedirects:a,requestConfig:s,context:c}),d=encodeFileData(n.data,i),f=extractFileMetadata(n.headers);if(r.fileNameKey){let e=extractValueByPath(u,r.fileNameKey);typeof e==`string`&&(f.fileName=e)}if(r.contentTypeKey){let e=extractValueByPath(u,r.contentTypeKey);typeof e==`string`&&(f.contentType=e)}(0,o.isMissing)(f.contentType)&&(0,o.notMissing)(r.contentType)&&(f.contentType=r.contentType);let p=buildContentDisposition(f);return{data:d,raw:n,statusCode:n?.status,message:n?.message,headers:n.headers,contentDisposition:p,fileMetadata:f,finalUrl:e}}}if(r.dataKey){let e=extractValueByPath(u,r.dataKey);if((0,o.isMissing)(e))throw Error(`No file content found at path: ${r.dataKey}`);let t;if(typeof e==`string`)t=r.contentIsBase64?i===`base64`?e:i===`none`?Buffer.from(e,`base64`):Buffer.from(e,`base64`).toString(i===`raw`?`binary`:i):encodeFileData(e,i);else if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))t=encodeFileData(e,i);else throw Error(`Unexpected file content type at path: ${r.dataKey}`);let a={};if(r.fileNameKey){let e=extractValueByPath(u,r.fileNameKey);typeof e==`string`&&(a.fileName=e)}if(r.contentTypeKey){let e=extractValueByPath(u,r.contentTypeKey);typeof e==`string`&&(a.contentType=e)}(0,o.isMissing)(a.contentType)&&(0,o.notMissing)(r.contentType)&&(a.contentType=r.contentType);let s=buildContentDisposition(a);return{data:t,raw:n,statusCode:n?.status,message:n?.message,headers:n.headers,contentDisposition:s,fileMetadata:a}}throw Error(`JSON response handling requires either urlKey or dataKey to be specified`)},extractValueByPath=(e,t)=>{let n=(t.startsWith(`$.`)?t.slice(2):t).split(`.`),r=e;for(let e of n){if((0,o.isMissing)(r)||typeof r!=`object`)return;r=r[e]}return r},encodeFileData=(e,t)=>{if(t===`none`)return e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==`string`?Buffer.from(e):Buffer.from(JSON.stringify(e));if(t===`raw`)return typeof e==`string`?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?Buffer.from(e).toString(`binary`):JSON.stringify(e);if(typeof e==`string`)return t===`base64`?Buffer.from(e).toString(`base64`):e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let n=Buffer.from(e);switch(t){case`base64`:return n.toString(`base64`);case`utf8`:return n.toString(`utf8`);default:return n.toString(`binary`)}}return JSON.stringify(e)},extractFileMetadata=e=>{let t=(0,o.isString)(e[`content-type`])?e[`content-type`]:void 0,n=(0,o.isString)(e[`content-length`])?e[`content-length`]:void 0,r=(0,o.isString)(e[`content-disposition`])?e[`content-disposition`]:void 0,i=(0,o.isString)(e[`last-modified`])?e[`last-modified`]:void 0,a=(0,o.isString)(e.etag)?e.etag:void 0,s=n?parseInt(n,10):void 0,c=extractFileName(r);return{contentType:t,contentLength:Number.isNaN(s)?void 0:s,fileName:c,lastModified:i,etag:a}},extractFileName=e=>{if(!e)return;let t=e.match(/filename\*=(?:UTF-8''|utf-8'')([^;\s]+)/i);if(t&&t[1])try{return decodeURIComponent(t[1])}catch{}let n=e.match(/filename=["']([^"']+)["']/);if(n&&n[1])return n[1];let r=e.match(/filename=([^;\s]+)/);if(r&&r[1])return r[1]},buildContentDisposition=e=>{let{fileName:t,contentType:n}=e,r=`attachment`;if(t)r=`attachment; filename="${t}"; filename*=UTF-8''${encodeURIComponent(t).replace(/['()]/g,escape)}`;else if(n){let e=getExtensionFromContentType(n);e&&(r=`attachment; filename="download.${e}"`)}return r},getExtensionFromContentType=e=>{let t=e.split(`;`)[0].trim().toLowerCase();return d.default.extension(t)||void 0},X=o.z.object({event:o.z.object({eventType:o.z.string(),eventId:o.z.coerce.string().optional(),eventDate:o.z.coerce.string().optional(),data:o.z.unknown().optional()}).optional()}),re=o.z.record(o.z.string(),o.z.unknown()),emitEventStepFunction=async({block:e,params:t})=>{let n=t?(0,s.safeEvaluateRecord)(t,e):{},{event:r}=X.parse(n);if(r&&e.emitEvent)try{await e.emitEvent({eventType:r.eventType,eventId:r.eventId,eventDate:r.eventDate,data:r.data})}catch(t){throw e.logger?.error({code:`EmitEventError`,message:`emitEvent callback failed: ${t.message}`}),t}else r&&!e.emitEvent&&e.logger?.warning({message:`emit_event step executed but no emitEvent callback provided on the block`});let{event:i,...a}=n;return{block:{...e},successful:!0,output:a}},ie=o.z.object({stepsDataToGroup:o.z.array(o.z.string()),isSingleRecord:o.z.boolean().optional()}),Z=o.z.object({data:o.z.unknown()}),groupDataStepFunction=async({block:e,params:t})=>{let{stepsDataToGroup:n,isSingleRecord:r}=ie.parse(t),i=n.reduce((t,n)=>{let i=e.steps?.[n]?.output?.data;return i?r?{...t,[n]:{...i}}:(Object.keys(i).forEach(e=>{t[e]={...(0,o.notMissing)(t[e])?t[e]:{},[n]:{...i[e]}}}),t):t},{});return{block:{...e},successful:!0,output:{data:r?i:Object.values(i)}}},ae=__name(async({block:e})=>{let t=e?.fieldConfigs,n=[],r=e.steps;if(!t||e?.debug?.custom_mappings===`disabled`||!r)return{block:e,successful:!0};let i=buildExpressionContext(e),a;if(Array.isArray(e.result)){let o=e.result.length;a=e.result.map((e,a)=>{let s=oe(e,t,extractSingleRecordBlockStepData(r,o,a),i);return n.push(...s.errors||[]),s.record})}else{let o=oe(e.result,t,r,i);a=o.record,n.push(...o.errors||[])}return{block:{...e,result:a},successful:!0,errors:Object.keys(n).length>0?n:void 0}},`mapFieldsStepFunction`),extractSingleRecordBlockStepData=(e,t,n)=>Object.entries(e).reduce((e,[r,i])=>{let a=i?.output?.data;return Array.isArray(a)&&a.length===t?e[r]={output:{data:a[n]}}:e[r]=i,e},{}),oe=__name((e,t,n,r)=>{if(!e||!n)return{record:e};let i={...r,unified:{...e},...typeof n==`object`?n:{}},a={},o=[],s={...e};for(let n of t){let{error:t,value:r}=se(i,e.id,n);if(t){o.push(t);continue}n.custom?a[n.targetFieldKey]=r:s[n.targetFieldKey]=r}return{record:{...s,unified_custom_fields:Object.keys(a).length>0?a:void 0},errors:o.length>0?o:void 0}},`mapSingleRecord`),se=__name((e,t,n)=>{let{expression:r,targetFieldKey:i}=n;if(!r)return{error:{message:`Expression is empty`,id:t,targetField:i}};let a;try{a=(0,s.evaluate)(r,e)}catch{return{error:{message:`Invalid expression`,id:t,targetField:i}}}return a===void 0?{error:{message:`Expression returned no value`,id:t,targetField:i}}:{value:a}},`extractFieldValue`),getEnumMatcher=e=>{switch(e){case`country_alpha2code_by_alpha2code`:return o.getCountryAlpha2CodeByAlpha2Code;case`country_alpha3code_by_alpha3code`:return o.getCountryAlpha3CodeByAlpha3Code;case`country_code_by_country_code`:return o.getCountryCodeByCountryCode;case`country_name_by_country_name`:return o.getCountryNameByCountryName;case`country_name_by_alpha3code`:return o.getCountryNameByAlpha3Code;case`country_name_by_alpha2code`:return o.getCountryNameByAlpha2Code;case`country_name_by_country_code`:return o.getCountryNameByCountryCode;case`country_alpha3code_by_alpha2code`:return o.getCountryAlpha3CodeByAlpha2Code;case`country_alpha3code_by_country_name`:return o.getCountryAlpha3CodeByCountryName;case`country_alpha3code_by_country_code`:return o.getCountryAlpha3CodeByCountryCode;case`country_alpha2code_by_alpha3code`:return o.getCountryAlpha2CodeByAlpha3Code;case`country_alpha2code_by_country_name`:return o.getCountryAlpha2CodeByCountryName;case`country_alpha2code_by_country_code`:return o.getCountryAlpha2CodeByCountryCode;case`country_code_by_alpha2code`:return o.getCountryCodeByAlpha2Code;case`country_code_by_alpha3code`:return o.getCountryCodeByAlpha3Code;case`country_code_by_country_name`:return o.getCountryCodeByCountryName;case`country_subdivisions_by_alpha2code`:return o.getCountrySubDivisionsByAlpha2Code;case`country_subdivision_code_by_subdivision_name`:return o.getCountrySubDivisionCodeBySubDivisionName;case`country_alpha2code_by_citizenship`:return o.getCountryAlpha2CodeByCitizenship;case`country_subdivision_name_by_subdivision_code`:return o.getCountrySubDivisionNameBySubDivisionCode;case`document_file_format_from_extension`:return o.getDocumentFileFormatFromExtension;default:return}},ce=(0,o.zStrictObject)({targetFieldKey:o.z.string(),alias:o.z.string().optional(),expression:o.z.string().optional(),values:o.z.unknown().optional(),type:o.z.enum([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:o.z.boolean().default(!1),custom:o.z.boolean().default(!1),hidden:o.z.boolean().default(!1),enumMapper:(0,o.zStrictObject)({matcher:o.z.string().or((0,o.zStrictObject)({matchExpression:o.z.string(),value:o.z.string()}).array())}).optional(),properties:o.z.lazy(()=>ce).array().optional(),requiredScopes:o.z.string().array().optional()}),le=o.z.object({fields:ce.array(),dataSource:o.z.string(),externalSources:o.z.record(o.z.string(),o.z.string()).optional()}),ue=o.z.object({data:o.z.unknown()}),mergeSourceWithState=(e,t)=>(0,o.isObject)(e)?{...t,...e}:e,mapFieldsStepFunction=async({block:e,params:t})=>{let n=[],{fields:r,dataSource:i,externalSources:a}=le.parse(t),o=buildExpressionContext(e,{includeCredentials:!0}),c=(0,s.evaluate)(i,o);if(!r||!i||e?.debug?.custom_mappings===`disabled`||!c)return{block:e,successful:!0};let l=Object.keys(a??{})?.reduce((e,t)=>(e[t]=(0,s.evaluate)(a?.[t],o),e),{}),u;if(Array.isArray(c))u=c.map(e=>{let t=Q(r,{...e,external:l},o);return n.push(...t?.errors||[]),t?.record});else{let e=Q(r,{...c,external:l},o);u=e?.record,n.push(...e?.errors||[])}return{block:{...e},successful:!0,output:{data:u},errors:Object.keys(n).length>0?n:void 0}},handleObjectArrayFromValues=(e,t,n,r)=>{if(Array.isArray(e.values))return e.values.map(i=>{let a=evaluateExpressionsInObject(i,t),s=Q(e.properties,a,r);return(0,o.notMissing)(s?.errors)&&n.push(...s.errors),s?.record}).filter(Boolean)},handleObjectArrayFromExpression=(e,t,n,r,i)=>{if(e.expression)try{let t=(0,s.evaluate)(e.expression,n);if(Array.isArray(t))return t.map(t=>{let n=Q(e.properties,t,i);return(0,o.notMissing)(n?.errors)&&r.push(...n.errors),n?.record}).filter(Boolean);{let n=Q(e.properties,t,i);return(0,o.notMissing)(n?.errors)&&r.push(...n.errors),n?.record}}catch{r.push({message:`Invalid expression`,id:t?.id,targetField:e.targetFieldKey});return}},handleSingleObject=(e,t,n,r)=>{let i=(0,o.notMissing)(e.values)?e.values:t,a=Q(e.properties,i,r);return(0,o.notMissing)(a?.errors)&&n.push(...a.errors),a?.record},de=__name((e,t,n,r,i)=>{if(!(0,o.isMissing)(e.properties))return e.array&&Array.isArray(e.values)?handleObjectArrayFromValues(e,n,r,i):e.array&&e.expression?handleObjectArrayFromExpression(e,t,n,r,i):handleSingleObject(e,t,r,i)},`handleObjectField`),Q=__name((e,t,n)=>{if(!t)return;let r=mergeSourceWithState(t,n),i={},a=[],o={};for(let s of e){let e;if(s.type===`object`){if(e=de(s,t,r,a,n),e===void 0)continue}else{let{error:n,value:i}=extractFieldValue(r,t?.id,s);if(e=i,n){a.push(n);continue}}s.custom?i[s.targetFieldKey]=e:o[s.targetFieldKey]=e}let s=Object.keys(i).length>0?{unified_custom_fields:i}:{};return{record:{...o,...s},errors:a.length>0?a:void 0}},`mapSingleRecord`),evaluateExpressionsInObject=(e,t)=>{if(e==null)return e;if(typeof e==`string`){if((0,s.isValidExpression)(e))try{return(0,s.evaluate)(e,t)}catch{return e}return e}if(Array.isArray(e))return e.map(e=>evaluateExpressionsInObject(e,t));if(typeof e==`object`){let n={...e};for(let[e,r]of Object.entries(n))n[e]=evaluateExpressionsInObject(r,t);return n}return e},extractFieldValue=(e,t,n)=>{switch(n.type){case`string`:case`number`:case`boolean`:case`datetime_string`:return fe(n,t,e);case`enum`:return evaluateEnumValue(n,t,e);default:return{error:{message:`Invalid type`,id:t,targetField:n.targetFieldKey}}}},fe=__name((e,t,n)=>{if(!e.expression)return{error:{message:`Expression is empty`,id:t,targetField:e.targetFieldKey}};let r;try{r=(0,s.evaluate)(e.expression,n)}catch{return{error:{message:`Invalid expression`,id:t,targetField:e.targetFieldKey}}}return r===void 0?{error:{message:`Expression returned no value`,id:t,targetField:e.targetFieldKey}}:{value:r}},`evaluateValue`),evaluateEnumValue=(e,t,n)=>{let r=fe(e,t,n),i=(0,o.notMissing)(r.value)?r.value:null;if(e.enumMapper===void 0)return{error:{message:`Enum mapper was not defined`,id:t,targetField:e.targetFieldKey}};let a=e.enumMapper.matcher;if((0,o.isString)(a)){let n=getEnumMatcher(a);return(0,o.notMissing)(n)?{value:{value:((0,o.notMissing)(i)?n(i):null)??`unmapped_value`,source_value:i}}:{error:{message:`The built-in matcher "${a}" is not supported`,id:t,targetField:e.targetFieldKey}}}for(let e of a){let{matchExpression:t,value:r}=e;if((0,s.evaluate)(t,n)===!0)return{value:{value:r,source_value:i}}}return{value:{value:`unmapped_value`,source_value:i}}},pe=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string().optional(),method:o.z.enum([`tools/call`,`tools/list`]).default(`tools/call`),toolName:o.z.string().optional(),timeout:o.z.number().int().positive().optional(),authorization:q.optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),condition:o.z.string().optional()}).array().optional()}).refine(e=>e.method!==`tools/call`||!!e.toolName,{message:`The 'toolName' parameter is required when method is 'tools/call'`,path:[`toolName`]}),me=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),buildMcpClient=e=>new c.McpClient(e),buildToolArguments=e=>(e??[]).reduce((e,t)=>(e[t.name]=t.value,e),{}),parseJsonText=e=>{try{return JSON.parse(e)}catch{return e}},resolveToolData=e=>{if((0,o.notMissing)(e.structuredContent))return e.structuredContent;let[t,...n]=e.content;return n.length===0&&t?.type===`text`&&typeof t.text==`string`?parseJsonText(t.text):e.content},extractTextMessage=e=>e.content.find(e=>typeof e.text==`string`)?.text,mcpRequestStepFunction=async({block:e,params:t},n=buildMcpClient)=>{let r=t?.args,i=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?(0,s.safeEvaluateRecord)({...t,args:i},e):{},l;try{l=pe.parse(a)}catch(t){return buildStepErrorOutput(t,e)}let{baseUrl:u,url:d,method:f,toolName:p,timeout:m,authorization:h,args:g}=l,_=`${u??``}${d??``}`;if(!_)return buildStepErrorOutput(Error(`MCP server URL is missing: set the connector baseUrl or the step url parameter`),e);let v=a?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,y;try{y=(0,c.createAuthorizationHeaders)((0,o.notMissing)(h)?h:q.parse(v??{type:`none`}))}catch(t){return buildStepErrorOutput(t,e)}let b=e.connector?.rateLimit,x=e.connector?.concurrency,S=n({serverUrl:_,headers:y,timeout:m,requestConfig:b!==void 0||x!==void 0?{rateLimits:b,concurrency:x}:void 0,context:buildRequestContext(e)});try{if(f===`tools/list`){let t=await S.listTools();return{block:e,successful:!0,output:{data:t.tools,raw:t,statusCode:200}}}if(!p)return buildStepErrorOutput(Error(`The 'toolName' parameter is required when method is 'tools/call'`),e);let t=await S.callTool({name:p,arguments:buildToolArguments(g)});if(t.isError){let n=extractTextMessage(t)??`MCP tool '${p}' returned an error`;return{block:e,successful:!1,errors:[{message:n,kind:`mcp_tool_error`,toolName:p}],output:{statusCode:502,message:n,data:resolveToolData(t),raw:t}}}return{block:e,successful:!0,output:{data:resolveToolData(t),raw:t,statusCode:200}}}catch(t){return buildStepErrorOutput(t,e)}finally{await S.close().catch(()=>void 0)}},generateSamlAssertion=async({cert:e,key:t,issuer:n,lifetime:r,clientId:i,nameId:a,tokenEndpoint:o,audience:s,nameIdentifierFormat:c,createSamlFn:l=e=>f.Saml20.create(e),sleepFn:u=e=>new Promise(t=>setTimeout(t,e))})=>{let d={api_key:i},m={cert:e,key:generatePrivateKey(t),issuer:n,lifetimeInSeconds:r,audiences:s,attributes:d,nameIdentifier:a,nameIdentifierFormat:c,recipient:o,sessionIndex:`_`+(0,p.v4)()},h=Buffer.from(l(m)).toString(`base64`);return await u(1e3),h},generatePrivateKey=e=>{let t=Buffer.from(e,`base64`).toString(`utf-8`).split(`###`);if(t.length!==2)throw Error(`Invalid private key`);let n=t[0];return Buffer.from(`-----BEGIN PRIVATE KEY-----
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,__name=(e,n)=>t(e,`name`,{value:n,configurable:!0}),n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,__copyProps=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},__toESM=(n,r,a)=>(a=n==null?{}:e(i(n)),__copyProps(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let o=require("@stackone/utils"),s=require("@stackone/expressions"),c=require("@stackone/transport"),l=require("@aws-sdk/client-lambda"),u=require("node:stream"),d=require("mime-types");d=__toESM(d);let f=require("saml"),p=require("uuid"),m=require("@stackone/redaction"),h=require("node:crypto"),g=require("jose"),_=require("form-data");_=__toESM(_);const v=[`context`,`inputs`,`steps`,`intermediateSteps`,`iterator`,`result`],buildExpressionContext=(e,t={})=>{let n=t.includeCredentials??e.context?.flowType===`refresh_authentication`,r=v.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{});return n&&`credentials`in e&&(r.credentials=e.credentials),r},y={hris:{title:`HRIS`,key:`hris`,description:`Human Resource Information System`},crm:{title:`CRM`,key:`crm`,description:`Customer Relationship Management`},ats:{title:`ATS`,key:`ats`,description:`Applicant Tracking System`},lms:{title:`LMS`,key:`lms`,description:`Learning Management System`},marketing:{title:`Marketing`,key:`marketing`,description:`Marketing`},filestorage:{title:`File Storage`,key:`filestorage`,description:`File Storage`},iam:{title:`IAM`,key:`iam`,description:`Identity and Access Management`},internal:{title:`Internal`,key:`internal`,description:`Category for internal actions`},action:{title:`Action`,key:`action`,description:`Action`}},getCategoryDetails=e=>y[e.toLowerCase()]??null,isValidCategory=e=>!!y[e.toLowerCase()],b=(0,o.encodeToBase64)(`so1!`),x=RegExp(`(?<!\\\\):`,`g`),S=RegExp(`(?<!\\\\),`,`g`);var C=class CoreError extends Error{constructor({category:e,name:t,type:n,context:r,message:i}){super(i),this.name=t??`CoreError`,this.type=n,this.category=e,this.context=r,Error.captureStackTrace&&Error.captureStackTrace(this,CoreError)}toString(){let e=this.message?`: ${this.message}`:``;return`${this.category}-${this.name} [${this.type}]${e}`}},BaseCompositeIdError=class extends C{constructor(e,t,n){super({category:`CompositeId`,name:t??`BaseCompositeIdError`,type:e,message:n})}},CompositeIdMissingHeaderError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_MISSING_HEADER_ERROR`,`CompositeIdMissingHeaderError`,e??`Invalid compositeId, missing header`)}},CompositeIdMissingBodyError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_MISSING_BODY_ERROR`,`CompositeIdMissingBodyError`,e??`Invalid compositeId, missing body`)}},CompositeIdUnknownIdentifierError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_UNKNOWN_IDENTIFIER_ERROR`,`CompositeIdUnknownIdentifierError`,e??`Invalid compositeId, unknown identifier`)}},CompositeIdUnsupportedVersionError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_UNSUPPORTED_VERSION_ERROR`,`CompositeIdUnsupportedVersionError`,e??`Invalid compositeId, unsupported version`)}};const isSingleIdentifier=e=>!(0,o.isMissing)(e)&&`value`in e&&e.value!==void 0,isMultipleIdentifier=e=>!(0,o.isMissing)(e)&&`identifiers`in e&&e.identifiers!==void 0,encodeCompositeId=(e,t={version:1})=>{if(t.version===1)return encodeIdV1(getComposedIdV1(e,t.aliases));throw new CompositeIdUnsupportedVersionError(`Cannot generate ID, unsupported version number: ${t.version}`)},decodeCompositeId=(e,t={version:1})=>{let n=decodeId(e,t),r={};return n&&n.split(S).forEach(e=>{let[n,i]=e.split(x),a=getOriginalKey(n,t.aliases??{});r[a]=unescapeValue(i)}),r},getComposedIdV1=(e,t={})=>{if(isSingleIdentifier(e))return getSingleIdentifierString({identifier:e,compositeIdAliases:t,isSoleIdentifier:!0});if(isMultipleIdentifier(e))return e.identifiers.map(e=>getSingleIdentifierString({identifier:e,compositeIdAliases:t,isSoleIdentifier:!1})).join(`,`);throw new CompositeIdUnknownIdentifierError},getSingleIdentifierString=({identifier:e,compositeIdAliases:t,isSoleIdentifier:n})=>[n?`id`:t[e.key]||e.key,escapeValue(e.value)].filter(Boolean).join(`:`),getOriginalKey=(e,t)=>Object.keys(t).find(n=>t[n]===e)??e,decodeId=(e,t)=>{if(t.version===1)return decodeIdV1(e);throw new CompositeIdUnsupportedVersionError(`Cannot decode ID, unsupported version number: ${t.version}`)},encodeIdV1=e=>`${b}${(0,o.encodeToBase64)(e)}`,decodeIdV1=e=>{if(!e.startsWith(b))throw new CompositeIdMissingHeaderError(`Trying to decode an ID without the header: ${e}`);let t=e.split(b)[1];if(!t)throw new CompositeIdMissingBodyError(`Trying to decode an ID without a body: ${e}`);return(0,o.decodeFromBase64)(t)},escapeValue=e=>[`,`,`:`].reduce((e,t)=>e.replace(t,`\\`+t),e),unescapeValue=e=>[`,`,`:`].reduce((e,t)=>{let n=`\\`+t;return e.replace(RegExp(`\\\\`+n,`g`),t)},e),isCompositeId=e=>(0,o.isMissing)(e)?!1:e.startsWith(b),computeDataSyncFingerprint=e=>{let{incremental:t}=e;return(0,o.getContentHash)({indexField:Array.isArray(e.indexField)?e.indexField:[e.indexField],incremental:t?{type:t.type,iteratorKey:t.iterator.key,iteratorIn:t.iterator.in,format:`format`in t?t.format:null}:null})},evaluateExternalAccountIdExtractor=(e,t)=>{let n=e.events?.externalAccountIdExtractor;if((0,o.isMissing)(n)||typeof n.result!=`string`||n.result.trim().length===0)return;let r=(0,s.safeEvaluate)(`{{${n.result.trim()}}}`,t);if(!(0,o.isMissing)(r)){if(typeof r==`string`){let e=r.trim();return e.length>0?e:void 0}if(typeof r==`number`||typeof r==`bigint`||typeof r==`boolean`)return String(r)}},evaluateEventRouter=(e,t)=>{let n=e.events?.router;if(!(0,o.isMissing)(n))for(let e of n.rules){let n=(0,s.safeEvaluate)(`{{${e.when.trim()}}}`,t);if(n!==null&&n!==!1&&n!==void 0){let n=e.then.input?Object.fromEntries(Object.entries(e.then.input).map(([e,n])=>[e,(0,s.safeEvaluate)(`{{${String(n).trim()}}}`,t)])):void 0;return{action:e.then.action,input:n}}}},w={email:/^[^\s@]+@(?=[^\s@]+\.[^\s@])[^\s@]+$/,url:/^https?:\/\/[^\s/?#]+(?:[/?#]\S*)?$/,uri:/^[a-zA-Z][a-zA-Z0-9+.-]*:\S+$/,uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,date:/^\d{4}-\d{2}-\d{2}$/,datetime:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}(?::?\d{2})?)?$/},T={employment_status:[`active`,`inactive`,`terminated`,`pending`,`leave`],employment_type:[`full_time`,`part_time`,`contractor`,`intern`,`temporary`],gender:[`male`,`female`,`non_binary`,`other`,`prefer_not_to_say`],marital_status:[`single`,`married`,`divorced`,`widowed`,`domestic_partnership`]},getInputEnumValues=e=>T[e],isValidEnumRef=e=>e in T,E=[`preview`,`beta`,`ga`,`deprecated`,`internal`],D=[`auth`,`downstream-change`,`bug-fix`,`new-actions`],O=[`list`,`get`,`create`,`update`,`delete`,`custom`,`refresh_token`,`test`,`event`,`unknown`],k=[`read`,`write`,`delete`,`search`,`execute`],A=[`native`,`unified`],j=[`body`,`query`,`path`,`headers`],M=[`email`,`url`,`uuid`,`date`,`datetime`,`uri`],N=[`string`,`number`,`boolean`,`datetime_string`,`object`,`enum`],P=[`sync`,`async`],F=(0,o.zStrictObject)({r:o.z.record(o.z.string(),(0,o.zStrictObject)({n:o.z.number().optional().nullable(),c:o.z.string().optional().nullable(),p:o.z.number().optional().nullable()})),v:o.z.number(),t:o.z.number()}),I=(0,o.zStrictObject)({remote:o.z.record(o.z.string(),(0,o.zStrictObject)({pageNumber:o.z.number().optional(),providerPageCursor:o.z.string().optional(),position:o.z.number().optional()})),version:o.z.number(),timestamp:o.z.number()}),minifyCursor=e=>(0,o.encodeToBase64)(JSON.stringify(minifyCursorObject(e))),minifyCursorObject=e=>{let{remote:t,version:n,timestamp:r}=e;return{r:Object.fromEntries(Object.entries(t).map(([e,{pageNumber:t,providerPageCursor:n,position:r}])=>[e,{n:t,c:n,p:r}])),v:n,t:r}},expandCursor=e=>{try{if((0,o.isString)(e)){let t=(0,o.decodeFromBase64)(e),n=JSON.parse(t);return expandCursorObject(F.parse(n))}else return I.parse(e),e}catch{return null}},expandCursorObject=e=>{let{r:t,v:n,t:r}=e;return{remote:Object.fromEntries(Object.entries(t).map(([e,{n:t,c:n,p:r}])=>[e,{pageNumber:t,providerPageCursor:n,position:r}])),version:n,timestamp:r}},areCursorsEqual=(e,t)=>{let n=typeof e==`string`?expandCursor(e):e,r=typeof t==`string`?expandCursor(t):t;if(n===null||r===null)return n===r;let{timestamp:i,...a}=n,{timestamp:s,...c}=r;return(0,o.getContentHash)(a)===(0,o.getContentHash)(c)},isCursorEmpty=({cursor:e,ignoreStepIndex:t})=>(0,o.isMissing)(e)?!0:Object.keys(e?.remote??{}).reduce((n,r)=>{let i=e?.remote?.[r];return((0,o.isMissing)(t)||r!==t.toString())&&(n=n&&(0,o.isMissing)(i.pageNumber)&&(0,o.isMissing)(i.position)&&(0,o.isMissing)(i.providerPageCursor)),n},!0),updateCursor=({cursor:e,stepIndex:t,pageNumber:n,providerPageCursor:r,position:i})=>{let a={pageNumber:n??void 0,providerPageCursor:r??void 0,position:i??void 0},s=(0,o.isMissing)(n)&&(0,o.isMissing)(r)&&(0,o.isMissing)(i);return(0,o.isMissing)(e)?{remote:s?{}:{[t]:a},version:2,timestamp:Date.now()}:s?(delete e.remote[t],e):{...e,remote:{...e.remote,[t]:a}}},isCoreError=e=>e instanceof C;function stripPaginationParams(e,t){let n=getPaginationKeys(t);if(n.length===0)return e;let r=getIteratorLocation(t);if(!r)return e;let i=e[r];if(!i||typeof i!=`object`)return e;let a={...i};for(let e of n)delete a[e];return{...e,[r]:a}}function getPaginationKeys(e){switch(e.type){case`cursor`:return[e.iterator.key];case`offset`:{let t=e;return[t.iterator.offsetKey,t.iterator.limitKey]}case`page`:{let t=e,n=[t.iterator.pageKey];return t.iterator.pageSizeKey&&n.push(t.iterator.pageSizeKey),n}default:return[]}}function getIteratorLocation(e){if(`iterator`in e&&typeof e.iterator==`object`&&e.iterator!==null)return e.iterator.in}function stripIncrementalParams(e,t){if(!t)return e;let{key:n,in:r}=t.iterator,i=e[r];if(!i||typeof i!=`object`)return e;let a={...i};return delete a[n],{...e,[r]:a}}const L={RequestTester:`REQUEST_TESTER`,ActionTester:`ACTION_TESTER`,Discode:`DISCODE`,Dashboard:`DASHBOARD`,Playground:`PLAYGROUND`,SDK:`SDK`,API:`API`,Scheduler:`SCHEDULER`,Webhook:`WEBHOOK`,Agent:`AGENT`,MCP:`MCP`,Application:`APPLICATION`,DataSync:`DATA_SYNC`,DataSyncV2:`DATA_SYNC_V2`,Internal:`INTERNAL`,ConnectionTest:`CONNECTION_TEST`},R={HTTP:`HTTP`,MCP:`MCP`,ActionRPC:`ACTION_RPC`,WebSocket:`WEBSOCKET`},z={HTTP:`HTTP`,WebSocket:`WEBSOCKET`,SSE:`SSE`},B={APIKey:`API_KEY`,SessionToken:`SESSION_TOKEN`,UserSession:`USER_SESSION`,Cookie:`COOKIE`,Webhook:`WEBHOOK`,Signature:`SIGNATURE`},browserUseStepFunction=async()=>{throw Error(`browser_use step function cannot be executed synchronously — actions using this step must have executionMode: "async" so they are dispatched to the Temporal workflow runtime`)},V=o.z.object({startUrl:o.z.string().url(),systemPrompt:o.z.string().optional(),viewport:(0,o.zStrictObject)({width:o.z.number().int().positive(),height:o.z.number().int().positive()}).optional(),locale:o.z.string().optional(),budgets:(0,o.zStrictObject)({maxDurationMs:o.z.number().int().positive(),maxSteps:o.z.number().int().positive()}),auth:(0,o.zStrictObject)({sensitiveKeys:o.z.array(o.z.string().min(1)).optional(),requiresSession:o.z.boolean().optional(),allowedDomains:o.z.array(o.z.string().min(1)).optional()}).optional()}),H=o.z.unknown(),sanitizeRaw=e=>{let t={};return e.status!=null&&(t.status=e.status),e.data!==void 0&&(t.data=e.data),e.headers!=null&&(t.headers=e.headers),e.requestUrl!=null&&(t.requestUrl=e.requestUrl),e.message!=null&&(t.message=e.message),t},isSerializedBuffer=e=>typeof e==`object`&&!!e&&e.type===`Buffer`&&Array.isArray(e.data),decodeBinaryBody=e=>{let t;if(Buffer.isBuffer(e)?t=e.toString(`utf8`):e instanceof ArrayBuffer?t=new TextDecoder().decode(new Uint8Array(e)):ArrayBuffer.isView(e)?t=new TextDecoder().decode(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):isSerializedBuffer(e)&&(t=Buffer.from(e.data).toString(`utf8`)),t===void 0)return e;try{return JSON.parse(t)}catch{return t}},decodeResponseBody=e=>({...e,data:decodeBinaryBody(e.data)}),isHttpLikeError=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`,extractTopLevelMessage=e=>{if(typeof e.message==`string`&&e.message.trim().length>0)return e.message},extractNestedErrorMessage=e=>{if(e.error!=null&&typeof e.error==`object`&&!Array.isArray(e.error)&&typeof e.error.message==`string`)return e.error.message;if(typeof e.error==`string`&&e.error.length>0)return e.error;if(typeof e.error_description==`string`&&e.error_description.length>0)return e.error_description},extractErrorMessage=(e,t)=>{let n=e.data;if(typeof n==`object`&&n&&!Array.isArray(n)){let e=extractTopLevelMessage(n);if(e!=null)return e}if(typeof e.message==`string`&&e.message.length>0)return e.message;if(typeof n==`object`&&n&&!Array.isArray(n)){let e=extractNestedErrorMessage(n);if(e!=null)return e}if(Array.isArray(n)&&n.length>0){let e=n[0];if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e,n=extractTopLevelMessage(t)??extractNestedErrorMessage(t);if(n!=null)return n}}return typeof n==`string`&&n.length>0?n:t},buildStepErrorOutput=(e,t)=>{if(e instanceof c.HttpResponseError){let n=e.message,r=decodeResponseBody(e.response);return{block:t,successful:!1,errors:[(0,c.serializeHttpResponseError)(e)],output:{statusCode:r?.status??500,message:extractErrorMessage(r,n),data:r?.data,raw:sanitizeRaw(r)}}}if(isHttpLikeError(e)){let n=decodeResponseBody(e.response),r=e instanceof Error?e.message:`HTTP error: ${n.status??500}`;return{block:t,successful:!1,errors:[(0,c.serializeHttpResponseError)(e)],output:{statusCode:n.status??500,message:extractErrorMessage(n,r),data:n.data,raw:sanitizeRaw(n)}}}return e instanceof Error?{block:t,successful:!1,errors:[(0,c.serializeHttpResponseError)(e)],output:{statusCode:500,message:e.message}}:{block:t,successful:!1,errors:[(0,c.serializeHttpResponseError)(e)],output:{statusCode:500,message:String(e)}}},isAwsCredentials=e=>!!e&&typeof e.accessKeyId==`string`&&typeof e.secretAccessKey==`string`,buildLambdaClientConfig=({region:e,endpoint:t,credentials:n})=>({region:e,...t?{endpoint:t}:{},...isAwsCredentials(n)?{credentials:{accessKeyId:n.accessKeyId,secretAccessKey:n.secretAccessKey,sessionToken:typeof n.sessionToken==`string`?n.sessionToken:void 0}}:t?{credentials:{accessKeyId:`local`,secretAccessKey:`local`}}:{}}),defaultClientFactory=e=>new l.LambdaClient(e),invokeLambda=async({lambdaName:e,payload:t,region:n,endpoint:r,invocationType:i=`RequestResponse`,qualifier:a,credentials:o,clientFactory:s=defaultClientFactory})=>{let c=s(buildLambdaClientConfig({region:n,endpoint:r,credentials:o})),u=new l.InvokeCommand({FunctionName:e,InvocationType:i,Qualifier:a,Payload:t?Buffer.from(JSON.stringify(t)):void 0}),d=await c.send(u),f=d.Payload?Buffer.from(d.Payload).toString(`utf-8`):``,p;if(f.length===0)p=void 0;else try{p=JSON.parse(f)}catch{p=f}return{statusCode:d.StatusCode??200,payload:p,functionError:d.FunctionError,executedVersion:d.ExecutedVersion}},U=(0,o.zStrictObject)({lambdaName:o.z.string(),region:o.z.string().optional(),endpoint:o.z.string().optional(),invocationType:o.z.enum([`RequestResponse`,`Event`,`DryRun`]).optional(),qualifier:o.z.string().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),condition:o.z.string().optional()}).array().optional().describe(`Key/value pairs combined into the JSON payload sent to the Lambda function`),dataKey:o.z.string().optional()}),W=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional(),executedVersion:o.z.string().optional()}).optional(),G=/\${[^}]+}/,isJsonPathLike=e=>{let t=e.trimStart();return t.startsWith(`$.`)||t.startsWith(`$[`)},hasExpressionMarker=e=>(0,s.isExpression)(e)||G.test(e)||isJsonPathLike(e),buildDataKeyExpression=e=>(0,s.isExpression)(e)||e.trimStart().startsWith(`$`)?e:`$.${e}`,K=__name((e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`||!e)return e;try{let n=(0,s.evaluate)(buildDataKeyExpression(t),e);if(n!==void 0)return n}catch{}return e[t]},`resolveDataKey`),buildPayloadFromArgs=e=>{if(!(!e||e.length===0))return e.reduce((e,t)=>(e[t.name]=t.value,e),{})},codeExecutionLambdaStepFunction=async({block:e,params:t},n=invokeLambda)=>{let r=t?.args,i=Array.isArray(r)?r:void 0,isPlainObject=e=>typeof e==`object`&&!!e,a=i?i.filter(t=>{if(!isPlainObject(t))return!0;let n=t.condition;return typeof n!=`string`||(0,s.safeEvaluate)(n,e)===!0}).map(e=>isPlainObject(e)?{...e,condition:void 0}:e):void 0,o=t?.dataKey,c=typeof o==`string`&&!G.test(o),l=t?.qualifier,u=typeof l==`string`&&!hasExpressionMarker(l),d={...t?(0,s.safeEvaluateRecord)(i===void 0?t:{...t,args:a},e):{},...c?{dataKey:o}:{},...u?{qualifier:l}:{}},f;try{f=U.parse(d)}catch(t){return buildStepErrorOutput(t,e)}let{lambdaName:p,region:m,endpoint:h,invocationType:g,qualifier:_,args:v,dataKey:y}=f,b;try{b=await n({lambdaName:p,payload:buildPayloadFromArgs(v),region:m,endpoint:h,invocationType:g,qualifier:_,credentials:e.credentials})}catch(t){return buildStepErrorOutput(t,e)}if(b.functionError){let t=typeof b.payload==`object`&&b.payload!==null&&`errorMessage`in b.payload&&typeof b.payload.errorMessage==`string`?b.payload.errorMessage:`Lambda function error: ${b.functionError}`;return{block:e,successful:!1,errors:[{message:t,kind:`lambda_function_error`,functionError:b.functionError}],output:{statusCode:b.statusCode,message:t,data:b.payload,raw:b}}}return{block:e,successful:!0,output:{data:y?K(b.payload,y):b.payload,raw:b,statusCode:b.statusCode,executedVersion:b.executedVersion}}},buildRequestContext=e=>({accountSecureId:e.context.accountSecureId,projectSecureId:e.context.projectSecureId,organizationId:e.context.organizationId,environment:e.context.environment,authConfigKey:e.context.authenticationType,provider:e.connector?.key,service:e.context.category,resource:e.connector?.key,action:e.action?.id}),ee=(0,o.zStrictObject)({strategy:o.z.literal(`aws4`),service:o.z.string(),region:o.z.string().optional()}),q=(0,o.zStrictObject)({strategy:o.z.literal(`hmac`),algorithm:o.z.enum([`sha1`,`sha256`,`sha512`]).optional(),headerName:o.z.string().optional(),prefix:o.z.string().optional(),dateFormat:o.z.enum([`iso8601`,`rfc2822`]).optional(),includeHost:o.z.boolean().optional(),includeBodyHash:o.z.boolean().optional(),outputFormat:o.z.enum([`header`,`basic`]).optional(),username:o.z.string().optional()}),J=o.z.discriminatedUnion(`strategy`,[ee,q]),te=(0,o.zStrictObject)({type:o.z.literal(`none`),signing:J.optional(),redirectUri:o.z.string().optional()}),Y=(0,o.zStrictObject)({type:o.z.literal(`basic`),username:o.z.string().optional(),password:o.z.string().optional(),encoding:o.z.string().optional(),redirectUri:o.z.string().optional()}),X=(0,o.zStrictObject)({type:o.z.literal(`bearer`),token:o.z.string(),includeBearer:o.z.boolean().optional().default(!0),redirectUri:o.z.string().optional()}),ne=new Set([`accessToken`,`refreshToken`,`idToken`,`clientId`,`clientSecret`,`authentication_config_key`,`environment`]),re=(0,o.zStrictObject)({type:o.z.literal(`oauth2`),authorizationUrl:o.z.string().optional(),redirectUri:o.z.string().optional(),authorizationParams:o.z.record(o.z.string(),o.z.string()).optional(),tokenUrl:o.z.string().optional(),tokenParams:o.z.record(o.z.string(),o.z.string()).optional(),tokenExpiresIn:o.z.number().optional(),tokenRefreshExpiresIn:o.z.number().optional(),token:o.z.string(),includeBearer:o.z.boolean().optional().default(!0),scopes:o.z.string().optional(),scopeDelimiter:o.z.string().optional(),customHeaders:o.z.record(o.z.string(),o.z.string()).optional(),pkce:o.z.boolean().optional(),additionalTokenFields:o.z.record(o.z.string(),o.z.string().optional()).optional(),callbackParams:o.z.record(o.z.string(),o.z.string().min(1)).superRefine((e,t)=>{for(let[n,r]of Object.entries(e))ne.has(r)&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[n],message:`callbackParams must not target reserved credential key "${r}"`})}).optional(),issuer:o.z.string().optional(),tokenResponse:(0,o.zStrictObject)({acceptTokenTypes:o.z.array(o.z.string()).optional(),accessToken:o.z.string().min(1).optional(),refreshToken:o.z.string().min(1).optional()}).optional()}),Z=o.z.discriminatedUnion(`type`,[te,Y,X,re]),ie=(0,o.zStrictObject)({certs:o.z.string().array().optional(),keys:o.z.string().array().optional()}).optional(),ae=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods).optional().default(`get`),authorization:Z.optional(),responseMode:o.z.enum([`buffer`,`stream`]).optional().default(`buffer`),responseType:o.z.enum([`arraybuffer`,`blob`,`text`,`json`]).optional().default(`arraybuffer`),encoding:o.z.enum([`base64`,`utf8`,`binary`,`raw`,`none`]).optional().default(`base64`),response:(0,o.zStrictObject)({dataKey:o.z.string().optional(),fileNameKey:o.z.string().optional(),contentTypeKey:o.z.string().optional(),contentType:o.z.string().optional(),contentIsBase64:o.z.boolean().optional().default(!1),urlKey:o.z.string().optional(),forwardAuth:o.z.boolean().optional().default(!1)}).optional(),maxRedirects:o.z.number().optional().default(5),followRedirects:o.z.boolean().optional().default(!0),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}),oe=(0,o.zStrictObject)({data:o.z.union([o.z.string(),o.z.instanceof(Buffer)]).optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional(),headers:o.z.record(o.z.string(),o.z.union([o.z.string(),o.z.array(o.z.string())])).optional(),contentDisposition:o.z.string().optional(),fileMetadata:(0,o.zStrictObject)({contentType:o.z.string().optional(),contentLength:o.z.number().optional(),fileName:o.z.string().optional(),lastModified:o.z.string().optional(),etag:o.z.string().optional()}).optional(),finalUrl:o.z.string().optional()}).optional(),downloadFileStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n}=t,r=n?n.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,i=t?(0,s.safeEvaluateRecord)({...t,args:r},e):{},a={...i,customErrors:t?.customErrors},{baseUrl:l,url:u,method:d,authorization:f,args:p,responseMode:m,responseType:h,encoding:g,response:_,maxRedirects:v,followRedirects:y}=ae.parse(a),b=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,x=p?(0,c.parseRequestParameters)(p):{query:{},body:{},headers:{}},S=typeof x?.body==`string`?void 0:x?.body,C=(0,c.createAuthorizationHeaders)((0,o.notMissing)(f)?f:Z.parse(b)),w={...x?.headers??{},...C},T=e.connector?.rateLimit,E=e.connector?.concurrency,D=T!==void 0||E!==void 0?{rateLimits:T,concurrency:E}:void 0,O=buildRequestContext(e);if(m===`stream`)return performStreamDownload({block:e,httpClient:e.httpClient,baseUrl:l??``,url:u,method:d,headers:w,queryParams:x?.query,body:S,maxRedirects:y?v:0,requestConfig:D,context:O,response:_,responseType:h,authHeaders:C});try{return{block:e,successful:!0,output:await performDownload({httpClient:e.httpClient,baseUrl:l??``,url:u,method:d,headers:w,queryParams:x?.query,body:S,responseType:h,encoding:g,response:_,maxRedirects:y?v:0,requestConfig:D,context:O,authHeaders:C})}}catch(t){return buildStepErrorOutput(t,e)}},performStreamDownload=async e=>{let{block:t,httpClient:n,baseUrl:r,url:i,method:a,headers:s,queryParams:c,body:l,maxRedirects:d,requestConfig:f,context:p,response:m,responseType:h,authHeaders:g}=e,_=`${r}${i}`;if(!_.startsWith(`http://`)&&!_.startsWith(`https://`))throw Error(`Invalid URL: "${_}". URL must be absolute (start with http:// or https://). Either provide a baseUrl or ensure url is a complete URL.`);if((0,o.notMissing)(m?.dataKey)||(0,o.notMissing)(m?.urlKey))try{let e=await performDownload({httpClient:n,baseUrl:r,url:i,method:a,headers:s,queryParams:c,body:l,responseType:h??`arraybuffer`,encoding:`none`,response:m,maxRedirects:d,requestConfig:f,context:p,authHeaders:g??{}}),_=Buffer.isBuffer(e.data)?e.data:Buffer.from(e.data),v={...e.fileMetadata,contentLength:_.length};return{block:t,successful:!0,streamOutput:{stream:u.Readable.from(_),headers:(0,o.notMissing)(v.contentType)?{"content-type":v.contentType}:{},contentDisposition:e.contentDisposition,fileMetadata:v}}}catch(e){return buildStepErrorOutput(e,t)}if(!n.requestStream)throw Error(`HTTP client does not support streaming. Either implement requestStream method or use responseMode: "buffer".`);try{let e=await n.requestStream({url:_,method:a,headers:s,queryParams:c,payload:l,maxRedirects:d,requestConfig:f,context:p}),r=extractFileMetadata(e.headers),i=buildContentDisposition(r);return{block:t,successful:!0,streamOutput:{stream:e.stream,headers:e.headers,contentDisposition:i,fileMetadata:r}}}catch(e){return buildStepErrorOutput(e,t)}},performDownload=async e=>{let{httpClient:t,baseUrl:n,url:r,method:i,headers:a,queryParams:o,body:s,responseType:c,encoding:l,response:u,maxRedirects:d,requestConfig:f,context:p,authHeaders:m}=e,h=`${n}${r}`;if(!h.startsWith(`http://`)&&!h.startsWith(`https://`))throw Error(`Invalid URL: "${h}". URL must be absolute (start with http:// or https://). Either provide a baseUrl or ensure url is a complete URL.`);let g=u?.urlKey||u?.dataKey?`json`:c,_=await t.request({url:h,method:i,headers:a,queryParams:o,payload:s,responseType:g===`json`?void 0:g,maxRedirects:d,requestConfig:f,context:p});if(u?.urlKey||u?.dataKey)return handleJsonResponse({httpClient:t,result:_,response:u,encoding:l,maxRedirects:d,requestConfig:f,context:p,authHeaders:m});let v=encodeFileData(_.data,l),y=extractFileMetadata(_.headers),b=buildContentDisposition(y);return{data:v,raw:_,statusCode:_?.status,message:_?.message,headers:_.headers,contentDisposition:b,fileMetadata:y,finalUrl:_?.requestUrl}},handleJsonResponse=async e=>{let{httpClient:t,result:n,response:r,encoding:i,maxRedirects:a,requestConfig:s,context:c,authHeaders:l}=e,u=n.data;if(r.urlKey){let e=extractValueByPath(u,r.urlKey);if(typeof e==`string`){let n=await t.request({url:e,method:`get`,headers:r.forwardAuth?l:{},responseType:`arraybuffer`,maxRedirects:a,requestConfig:s,context:c}),d=encodeFileData(n.data,i),f=extractFileMetadata(n.headers);if(r.fileNameKey){let e=extractValueByPath(u,r.fileNameKey);typeof e==`string`&&(f.fileName=e)}if(r.contentTypeKey){let e=extractValueByPath(u,r.contentTypeKey);typeof e==`string`&&(f.contentType=e)}(0,o.isMissing)(f.contentType)&&(0,o.notMissing)(r.contentType)&&(f.contentType=r.contentType);let p=buildContentDisposition(f);return{data:d,raw:n,statusCode:n?.status,message:n?.message,headers:n.headers,contentDisposition:p,fileMetadata:f,finalUrl:e}}}if(r.dataKey){let e=extractValueByPath(u,r.dataKey);if((0,o.isMissing)(e))throw Error(`No file content found at path: ${r.dataKey}`);let t;if(typeof e==`string`)t=r.contentIsBase64?i===`base64`?e:i===`none`?Buffer.from(e,`base64`):Buffer.from(e,`base64`).toString(i===`raw`?`binary`:i):encodeFileData(e,i);else if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))t=encodeFileData(e,i);else throw Error(`Unexpected file content type at path: ${r.dataKey}`);let a={};if(r.fileNameKey){let e=extractValueByPath(u,r.fileNameKey);typeof e==`string`&&(a.fileName=e)}if(r.contentTypeKey){let e=extractValueByPath(u,r.contentTypeKey);typeof e==`string`&&(a.contentType=e)}(0,o.isMissing)(a.contentType)&&(0,o.notMissing)(r.contentType)&&(a.contentType=r.contentType);let s=buildContentDisposition(a);return{data:t,raw:n,statusCode:n?.status,message:n?.message,headers:n.headers,contentDisposition:s,fileMetadata:a}}throw Error(`JSON response handling requires either urlKey or dataKey to be specified`)},extractValueByPath=(e,t)=>{let n=(t.startsWith(`$.`)?t.slice(2):t).split(`.`),r=e;for(let e of n){if((0,o.isMissing)(r)||typeof r!=`object`)return;r=r[e]}return r},encodeFileData=(e,t)=>{if(t===`none`)return e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==`string`?Buffer.from(e):Buffer.from(JSON.stringify(e));if(t===`raw`)return typeof e==`string`?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?Buffer.from(e).toString(`binary`):JSON.stringify(e);if(typeof e==`string`)return t===`base64`?Buffer.from(e).toString(`base64`):e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let n=Buffer.from(e);switch(t){case`base64`:return n.toString(`base64`);case`utf8`:return n.toString(`utf8`);default:return n.toString(`binary`)}}return JSON.stringify(e)},extractFileMetadata=e=>{let t=(0,o.isString)(e[`content-type`])?e[`content-type`]:void 0,n=(0,o.isString)(e[`content-length`])?e[`content-length`]:void 0,r=(0,o.isString)(e[`content-disposition`])?e[`content-disposition`]:void 0,i=(0,o.isString)(e[`last-modified`])?e[`last-modified`]:void 0,a=(0,o.isString)(e.etag)?e.etag:void 0,s=n?parseInt(n,10):void 0,c=extractFileName(r);return{contentType:t,contentLength:Number.isNaN(s)?void 0:s,fileName:c,lastModified:i,etag:a}},extractFileName=e=>{if(!e)return;let t=e.match(/filename\*=(?:UTF-8''|utf-8'')([^;\s]+)/i);if(t&&t[1])try{return decodeURIComponent(t[1])}catch{}let n=e.match(/filename=["']([^"']+)["']/);if(n&&n[1])return n[1];let r=e.match(/filename=([^;\s]+)/);if(r&&r[1])return r[1]},buildContentDisposition=e=>{let{fileName:t,contentType:n}=e,r=`attachment`;if(t)r=`attachment; filename="${t}"; filename*=UTF-8''${encodeURIComponent(t).replace(/['()]/g,escape)}`;else if(n){let e=getExtensionFromContentType(n);e&&(r=`attachment; filename="download.${e}"`)}return r},getExtensionFromContentType=e=>{let t=e.split(`;`)[0].trim().toLowerCase();return d.default.extension(t)||void 0},se=o.z.object({event:o.z.object({eventType:o.z.string(),eventId:o.z.coerce.string().optional(),eventDate:o.z.coerce.string().optional(),data:o.z.unknown().optional()}).optional()}),ce=o.z.record(o.z.string(),o.z.unknown()),emitEventStepFunction=async({block:e,params:t})=>{let n=t?(0,s.safeEvaluateRecord)(t,e):{},{event:r}=se.parse(n);if(r&&e.emitEvent)try{await e.emitEvent({eventType:r.eventType,eventId:r.eventId,eventDate:r.eventDate,data:r.data})}catch(t){throw e.logger?.error({code:`EmitEventError`,message:`emitEvent callback failed: ${t.message}`}),t}else r&&!e.emitEvent&&e.logger?.warning({message:`emit_event step executed but no emitEvent callback provided on the block`});let{event:i,...a}=n;return{block:{...e},successful:!0,output:a}},le=o.z.object({stepsDataToGroup:o.z.array(o.z.string()),isSingleRecord:o.z.boolean().optional()}),ue=o.z.object({data:o.z.unknown()}),groupDataStepFunction=async({block:e,params:t})=>{let{stepsDataToGroup:n,isSingleRecord:r}=le.parse(t),i=n.reduce((t,n)=>{let i=e.steps?.[n]?.output?.data;return i?r?{...t,[n]:{...i}}:(Object.keys(i).forEach(e=>{t[e]={...(0,o.notMissing)(t[e])?t[e]:{},[n]:{...i[e]}}}),t):t},{});return{block:{...e},successful:!0,output:{data:r?i:Object.values(i)}}},de=__name(async({block:e})=>{let t=e?.fieldConfigs,n=[],r=e.steps;if(!t||e?.debug?.custom_mappings===`disabled`||!r)return{block:e,successful:!0};let i=buildExpressionContext(e),a;if(Array.isArray(e.result)){let o=e.result.length;a=e.result.map((e,a)=>{let s=fe(e,t,extractSingleRecordBlockStepData(r,o,a),i);return n.push(...s.errors||[]),s.record})}else{let o=fe(e.result,t,r,i);a=o.record,n.push(...o.errors||[])}return{block:{...e,result:a},successful:!0,errors:Object.keys(n).length>0?n:void 0}},`mapFieldsStepFunction`),extractSingleRecordBlockStepData=(e,t,n)=>Object.entries(e).reduce((e,[r,i])=>{let a=i?.output?.data;return Array.isArray(a)&&a.length===t?e[r]={output:{data:a[n]}}:e[r]=i,e},{}),fe=__name((e,t,n,r)=>{if(!e||!n)return{record:e};let i={...r,unified:{...e},...typeof n==`object`?n:{}},a={},o=[],s={...e};for(let n of t){let{error:t,value:r}=pe(i,e.id,n);if(t){o.push(t);continue}n.custom?a[n.targetFieldKey]=r:s[n.targetFieldKey]=r}return{record:{...s,unified_custom_fields:Object.keys(a).length>0?a:void 0},errors:o.length>0?o:void 0}},`mapSingleRecord`),pe=__name((e,t,n)=>{let{expression:r,targetFieldKey:i}=n;if(!r)return{error:{message:`Expression is empty`,id:t,targetField:i}};let a;try{a=(0,s.evaluate)(r,e)}catch{return{error:{message:`Invalid expression`,id:t,targetField:i}}}return a===void 0?{error:{message:`Expression returned no value`,id:t,targetField:i}}:{value:a}},`extractFieldValue`),getEnumMatcher=e=>{switch(e){case`country_alpha2code_by_alpha2code`:return o.getCountryAlpha2CodeByAlpha2Code;case`country_alpha3code_by_alpha3code`:return o.getCountryAlpha3CodeByAlpha3Code;case`country_code_by_country_code`:return o.getCountryCodeByCountryCode;case`country_name_by_country_name`:return o.getCountryNameByCountryName;case`country_name_by_alpha3code`:return o.getCountryNameByAlpha3Code;case`country_name_by_alpha2code`:return o.getCountryNameByAlpha2Code;case`country_name_by_country_code`:return o.getCountryNameByCountryCode;case`country_alpha3code_by_alpha2code`:return o.getCountryAlpha3CodeByAlpha2Code;case`country_alpha3code_by_country_name`:return o.getCountryAlpha3CodeByCountryName;case`country_alpha3code_by_country_code`:return o.getCountryAlpha3CodeByCountryCode;case`country_alpha2code_by_alpha3code`:return o.getCountryAlpha2CodeByAlpha3Code;case`country_alpha2code_by_country_name`:return o.getCountryAlpha2CodeByCountryName;case`country_alpha2code_by_country_code`:return o.getCountryAlpha2CodeByCountryCode;case`country_code_by_alpha2code`:return o.getCountryCodeByAlpha2Code;case`country_code_by_alpha3code`:return o.getCountryCodeByAlpha3Code;case`country_code_by_country_name`:return o.getCountryCodeByCountryName;case`country_subdivisions_by_alpha2code`:return o.getCountrySubDivisionsByAlpha2Code;case`country_subdivision_code_by_subdivision_name`:return o.getCountrySubDivisionCodeBySubDivisionName;case`country_alpha2code_by_citizenship`:return o.getCountryAlpha2CodeByCitizenship;case`country_subdivision_name_by_subdivision_code`:return o.getCountrySubDivisionNameBySubDivisionCode;case`document_file_format_from_extension`:return o.getDocumentFileFormatFromExtension;default:return}},me=(0,o.zStrictObject)({targetFieldKey:o.z.string(),alias:o.z.string().optional(),expression:o.z.string().optional(),values:o.z.unknown().optional(),type:o.z.enum([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:o.z.boolean().default(!1),custom:o.z.boolean().default(!1),hidden:o.z.boolean().default(!1),enumMapper:(0,o.zStrictObject)({matcher:o.z.string().or((0,o.zStrictObject)({matchExpression:o.z.string(),value:o.z.string()}).array())}).optional(),properties:o.z.lazy(()=>me).array().optional(),requiredScopes:o.z.string().array().optional()}),he=o.z.object({fields:me.array(),dataSource:o.z.string(),externalSources:o.z.record(o.z.string(),o.z.string()).optional()}),ge=o.z.object({data:o.z.unknown()}),mergeSourceWithState=(e,t)=>(0,o.isObject)(e)?{...t,...e}:e,mapFieldsStepFunction=async({block:e,params:t})=>{let n=[],{fields:r,dataSource:i,externalSources:a}=he.parse(t),o=buildExpressionContext(e,{includeCredentials:!0}),c=(0,s.evaluate)(i,o);if(!r||!i||e?.debug?.custom_mappings===`disabled`||!c)return{block:e,successful:!0};let l=Object.keys(a??{})?.reduce((e,t)=>(e[t]=(0,s.evaluate)(a?.[t],o),e),{}),u;if(Array.isArray(c))u=c.map(e=>{let t=Q(r,{...e,external:l},o);return n.push(...t?.errors||[]),t?.record});else{let e=Q(r,{...c,external:l},o);u=e?.record,n.push(...e?.errors||[])}return{block:{...e},successful:!0,output:{data:u},errors:Object.keys(n).length>0?n:void 0}},handleObjectArrayFromValues=(e,t,n,r)=>{if(Array.isArray(e.values))return e.values.map(i=>{let a=evaluateExpressionsInObject(i,t),s=Q(e.properties,a,r);return(0,o.notMissing)(s?.errors)&&n.push(...s.errors),s?.record}).filter(Boolean)},handleObjectArrayFromExpression=(e,t,n,r,i)=>{if(e.expression)try{let t=(0,s.evaluate)(e.expression,n);if(Array.isArray(t))return t.map(t=>{let n=Q(e.properties,t,i);return(0,o.notMissing)(n?.errors)&&r.push(...n.errors),n?.record}).filter(Boolean);{let n=Q(e.properties,t,i);return(0,o.notMissing)(n?.errors)&&r.push(...n.errors),n?.record}}catch{r.push({message:`Invalid expression`,id:t?.id,targetField:e.targetFieldKey});return}},handleSingleObject=(e,t,n,r)=>{let i=(0,o.notMissing)(e.values)?e.values:t,a=Q(e.properties,i,r);return(0,o.notMissing)(a?.errors)&&n.push(...a.errors),a?.record},_e=__name((e,t,n,r,i)=>{if(!(0,o.isMissing)(e.properties))return e.array&&Array.isArray(e.values)?handleObjectArrayFromValues(e,n,r,i):e.array&&e.expression?handleObjectArrayFromExpression(e,t,n,r,i):handleSingleObject(e,t,r,i)},`handleObjectField`),Q=__name((e,t,n)=>{if(!t)return;let r=mergeSourceWithState(t,n),i={},a=[],o={};for(let s of e){let e;if(s.type===`object`){if(e=_e(s,t,r,a,n),e===void 0)continue}else{let{error:n,value:i}=extractFieldValue(r,t?.id,s);if(e=i,n){a.push(n);continue}}s.custom?i[s.targetFieldKey]=e:o[s.targetFieldKey]=e}let s=Object.keys(i).length>0?{unified_custom_fields:i}:{};return{record:{...o,...s},errors:a.length>0?a:void 0}},`mapSingleRecord`),evaluateExpressionsInObject=(e,t)=>{if(e==null)return e;if(typeof e==`string`){if((0,s.isValidExpression)(e))try{return(0,s.evaluate)(e,t)}catch{return e}return e}if(Array.isArray(e))return e.map(e=>evaluateExpressionsInObject(e,t));if(typeof e==`object`){let n={...e};for(let[e,r]of Object.entries(n))n[e]=evaluateExpressionsInObject(r,t);return n}return e},extractFieldValue=(e,t,n)=>{switch(n.type){case`string`:case`number`:case`boolean`:case`datetime_string`:return ve(n,t,e);case`enum`:return evaluateEnumValue(n,t,e);default:return{error:{message:`Invalid type`,id:t,targetField:n.targetFieldKey}}}},ve=__name((e,t,n)=>{if(!e.expression)return{error:{message:`Expression is empty`,id:t,targetField:e.targetFieldKey}};let r;try{r=(0,s.evaluate)(e.expression,n)}catch{return{error:{message:`Invalid expression`,id:t,targetField:e.targetFieldKey}}}return r===void 0?{error:{message:`Expression returned no value`,id:t,targetField:e.targetFieldKey}}:{value:r}},`evaluateValue`),evaluateEnumValue=(e,t,n)=>{let r=ve(e,t,n),i=(0,o.notMissing)(r.value)?r.value:null;if(e.enumMapper===void 0)return{error:{message:`Enum mapper was not defined`,id:t,targetField:e.targetFieldKey}};let a=e.enumMapper.matcher;if((0,o.isString)(a)){let n=getEnumMatcher(a);return(0,o.notMissing)(n)?{value:{value:((0,o.notMissing)(i)?n(i):null)??`unmapped_value`,source_value:i}}:{error:{message:`The built-in matcher "${a}" is not supported`,id:t,targetField:e.targetFieldKey}}}for(let e of a){let{matchExpression:t,value:r}=e;if((0,s.evaluate)(t,n)===!0)return{value:{value:r,source_value:i}}}return{value:{value:`unmapped_value`,source_value:i}}},ye=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string().optional(),method:o.z.enum([`tools/call`,`tools/list`]).default(`tools/call`),toolName:o.z.string().optional(),timeout:o.z.number().int().positive().optional(),authorization:Z.optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),condition:o.z.string().optional()}).array().optional()}).refine(e=>e.method!==`tools/call`||!!e.toolName,{message:`The 'toolName' parameter is required when method is 'tools/call'`,path:[`toolName`]}),be=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),buildMcpClient=e=>new c.McpClient(e),buildToolArguments=e=>(e??[]).reduce((e,t)=>(e[t.name]=t.value,e),{}),parseJsonText=e=>{try{return JSON.parse(e)}catch{return e}},resolveToolData=e=>{if((0,o.notMissing)(e.structuredContent))return e.structuredContent;let[t,...n]=e.content;return n.length===0&&t?.type===`text`&&typeof t.text==`string`?parseJsonText(t.text):e.content},extractTextMessage=e=>e.content.find(e=>typeof e.text==`string`)?.text,mcpRequestStepFunction=async({block:e,params:t},n=buildMcpClient)=>{let r=t?.args,i=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?(0,s.safeEvaluateRecord)({...t,args:i},e):{},l;try{l=ye.parse(a)}catch(t){return buildStepErrorOutput(t,e)}let{baseUrl:u,url:d,method:f,toolName:p,timeout:m,authorization:h,args:g}=l,_=`${u??``}${d??``}`;if(!_)return buildStepErrorOutput(Error(`MCP server URL is missing: set the connector baseUrl or the step url parameter`),e);let v=a?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,y;try{y=(0,c.createAuthorizationHeaders)((0,o.notMissing)(h)?h:Z.parse(v??{type:`none`}))}catch(t){return buildStepErrorOutput(t,e)}let b=e.connector?.rateLimit,x=e.connector?.concurrency,S=n({serverUrl:_,headers:y,timeout:m,requestConfig:b!==void 0||x!==void 0?{rateLimits:b,concurrency:x}:void 0,context:buildRequestContext(e)});try{if(f===`tools/list`){let t=await S.listTools();return{block:e,successful:!0,output:{data:t.tools,raw:t,statusCode:200}}}if(!p)return buildStepErrorOutput(Error(`The 'toolName' parameter is required when method is 'tools/call'`),e);let t=await S.callTool({name:p,arguments:buildToolArguments(g)});if(t.isError){let n=extractTextMessage(t)??`MCP tool '${p}' returned an error`;return{block:e,successful:!1,errors:[{message:n,kind:`mcp_tool_error`,toolName:p}],output:{statusCode:502,message:n,data:resolveToolData(t),raw:t}}}return{block:e,successful:!0,output:{data:resolveToolData(t),raw:t,statusCode:200}}}catch(t){return buildStepErrorOutput(t,e)}finally{await S.close().catch(()=>void 0)}},generateSamlAssertion=async({cert:e,key:t,issuer:n,lifetime:r,clientId:i,nameId:a,tokenEndpoint:o,audience:s,nameIdentifierFormat:c,createSamlFn:l=e=>f.Saml20.create(e),sleepFn:u=e=>new Promise(t=>setTimeout(t,e))})=>{let d={api_key:i},m={cert:e,key:generatePrivateKey(t),issuer:n,lifetimeInSeconds:r,audiences:s,attributes:d,nameIdentifier:a,nameIdentifierFormat:c,recipient:o,sessionIndex:`_`+(0,p.v4)()},h=Buffer.from(l(m)).toString(`base64`);return await u(1e3),h},generatePrivateKey=e=>{let t=Buffer.from(e,`base64`).toString(`utf-8`).split(`###`);if(t.length!==2)throw Error(`Invalid private key`);let n=t[0];return Buffer.from(`-----BEGIN PRIVATE KEY-----
|
|
2
2
|
${n}
|
|
3
|
-
-----END PRIVATE KEY-----`)},$=__name(e=>{let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},`isJexlExpression`),he=__name((e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`||!e)return e;let n=(0,s.safeEvaluate)($(t)?t:`$.${t}`,e);return n===void 0?e[t]:n},`resolveDataKey`),resolveFromHeaders=(e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`)return null;if($(t)){let n=(0,s.safeEvaluate)(t,e);return typeof n==`string`&&n!==``||typeof n==`number`?n:null}let n=t.toLowerCase(),[,r]=Object.entries(e).find(([e])=>e?.toLowerCase()===n)??[];if(Array.isArray(r)){let e=r.find(e=>typeof e==`string`&&e!==``||typeof e==`number`);return typeof e==`string`||typeof e==`number`?e:null}return typeof r==`string`&&r!==``||typeof r==`number`?r:null},resolveFromData=(e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`||!e)return null;let n=(0,s.safeEvaluate)($(t)?t:`$.${t}`,e);return(0,o.isMissing)(n)?null:typeof n==`string`||typeof n==`number`||typeof n==`object`?n:null},preserveJexlResponseKeys=(e,t)=>{let{nextKey:n,dataKey:r}=e?.response??{},i=n&&$(n),a=r&&$(r);return!i&&!a?t:{...t??{},...i?{nextKey:n}:{},...a?{dataKey:r}:{}}},ge=o.z.object({baseUrl:o.z.string(),url:o.z.string(),method:o.z.enum(c.HttpMethods),authorization:q.optional(),saml:(0,o.zStrictObject)({objectKey:o.z.string(),key:o.z.string(),clientId:o.z.string(),cert:o.z.unknown().optional(),issuer:o.z.string().optional(),lifetime:o.z.number().optional(),nameId:o.z.string().optional(),audience:o.z.string().optional(),nameIdentifierFormat:o.z.string().optional(),tokenEndpoint:o.z.string().optional()}).optional(),response:(0,o.zStrictObject)({indexField:o.z.string().optional(),dataKey:o.z.string().optional(),nextKey:o.z.string().optional(),nextKeyIn:o.z.enum([`data`,`headers`]).optional()}).optional(),iterator:(0,o.zStrictObject)({key:o.z.string(),in:o.z.enum([`query`,`body`]),condition:o.z.string().optional(),mode:o.z.enum([`cursor`,`offset`,`page`]).optional(),startPage:o.z.number().int().min(0).max(2**53-1).optional(),maxPage:o.z.number().int().positive().max(1e4).optional()}).superRefine((e,t)=>{e.startPage!==void 0&&e.mode!==`page`&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`startPage`],message:`startPage is only valid when iterator.mode is "page"`}),e.maxPage!==void 0&&e.mode!==`page`&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`maxPage`],message:`maxPage is only valid when iterator.mode is "page"`});let n=e.maxPage??1e3;e.mode===`page`&&(e.startPage??1)>n&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`startPage`],message:`startPage must not exceed maxPage (${n})`})}),cursor:(0,o.zStrictObject)({token:o.z.string().optional().nullable(),position:o.z.number().optional().nullable()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),encodeQueryParams:o.z.boolean().optional(),cacheTTL:o.z.number().int().nonnegative().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}),_e=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional(),next:o.z.string().optional().nullable(),position:o.z.number().optional()}).optional(),paginatedRequestStepFunction=async({block:e,params:t})=>{let n=c.RequestClientFactory.build();if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=Number(e.inputs?.page_size),a=Number.isNaN(i)?25:i,l=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,u=t?(0,s.safeEvaluateRecord)({...t,args:l},e):{},d={...u,customErrors:t?.customErrors,iterator:{...u?.iterator??{},condition:t?.iterator?.condition},response:preserveJexlResponseKeys(t,u?.response)},f=d.authorization;if((0,o.notMissing)(f)){let t=q.safeParse(f);if(!t.success)return buildStepErrorOutput(Error(invalidStepAuthorizationMessage(t.error)),e)}let{baseUrl:p,url:m,method:h,response:g,authorization:_,iterator:v,cursor:y,customErrors:b,encodeQueryParams:x,args:S,saml:C,cacheTTL:w}=ge.parse(d),T=u?.authentication?.[e.context.authenticationType]?.[e.context.environment],E=T?.authorization,D=T?.certificates,O=D?(0,c.buildHttpsAgent)(D):void 0,k=(0,o.notMissing)(_)?_:q.parse(E);if(k.type===`none`&&(0,o.notMissing)(k.signing))return buildStepErrorOutput(Error(`authorization.signing is not supported on paginated_request steps — every page changes the query string, so the signature would have to be recomputed per page; use a request step instead`),e);let A=S?(0,c.parseRequestParameters)(S):{query:{},body:{},headers:{}},j=(0,c.createAuthorizationHeaders)(k),M={...A?.headers??{},...j},N=e.connector?.rateLimit,P=e.connector?.concurrency,F=N!==void 0||P!==void 0?{rateLimits:N,concurrency:P}:void 0,I=buildRequestContext(e),L=(0,o.notMissing)(C)?{[C.objectKey]:await generateSamlAssertion({key:C.key,clientId:C.clientId,cert:C.cert,issuer:C.issuer,lifetime:C.lifetime,audience:C.audience,nameId:C.nameId,nameIdentifierFormat:C.nameIdentifierFormat,tokenEndpoint:C.tokenEndpoint})}:{},R=v.mode===`offset`,z=v.mode===`page`,B=v.maxPage??1e3,V=B+1,H=z?resolveInitialPage(y?.token,v.startPage??1):y?.token??null,U=null,ee=null,W=[],G=[],te=[],K=a,J=y?.position??0,ne=!0,Y=!0,X=!0,re=null;do{if(z&&Number(H)>V)return buildStepErrorOutput(maxPageExceededError(B,H),e);ne?ne=!1:R||(J=0),H===null?R&&(v.in===`query`?A.query[v.key]=J.toString():v.in===`body`&&(Array.isArray(A.body)||(A.body[v.key]=J))):v.in===`query`?(0,o.isObject)(H)?Object.entries(H).forEach(([e,t])=>{A.query[`${v.key}[${e}]`]=t?.toString()??``}):A.query[v.key]=H.toString():v.in===`body`&&(Array.isArray(A.body)||(A.body[v.key]=H));let t;try{t=await n.performRequest({httpClient:e.httpClient,url:`${p}${m}`,queryParams:{...A?.query},encodeQueryParams:x,method:h,headers:{...M},body:Array.isArray(A?.body)?A.body:{...typeof A?.body==`string`?void 0:A?.body,...L},customErrorConfigs:b,requestConfig:F,httpsAgent:O,credentials:e.credentials,context:I,cacheTTL:w})}catch(t){return buildStepErrorOutput(t,e)}if(U=H,G=g?.dataKey?he(t.data,g.dataKey):t.data,!Array.isArray(G)){let n=z?` at page ${U}`:``,r=g?.dataKey?` at "${g.dataKey}"`:``,i=G===null?`null`:typeof G;e.logger?.warning({message:`Pagination stopped${n}: expected an array of records${r} but received ${i}; treating it as an empty page`}),te.push(t),ee=t?.status,Y=!0;break}if(z){let t=(0,o.getContentHash)(G);if(t===re){e.logger?.warning({message:`Pagination stopped at page ${U}: the provider returned the previous page again, so the page number is not advancing`}),Y=!0;break}re=t}if(z&&Number(U)>B&&G.length>0)return buildStepErrorOutput(maxPageExceededError(B,U),e);let r=R?G?.slice(0,K):G?.slice(J,J+K);K-=r.length,J+=r.length,te.push(t),W=W.concat(r),ee=t?.status,H=z?incrementPage(Number(U)):ve({result:t,response:g}),X=(0,o.notMissing)(v.condition)?(0,s.safeEvaluate)(v.condition,t.data)===!0:!0;let i=J>=(G?.length??0),c=(0,o.notMissing)(g?.nextKey),l=r.length===G.length&&K===0;!R&&(c||z)&&i&&(J=0,U=H),Y=R?!X||(0,o.isMissing)(H)&&W.length<a:z?i&&(!X||W.length<a):c?i&&((0,o.isMissing)(H)||!X):!X||(0,o.isMissing)(H)&&W.length<a||l}while((R||(0,o.notMissing)(H))&&X&&W.length<a&&G?.length>0);let ie=ye(W,g),Z=Y?void 0:U;return{block:e,successful:!0,output:{data:ie,raw:te,statusCode:ee,next:z&&typeof Z==`number`?Z.toString():Z,position:Y?void 0:J}}},resolveInitialPage=(e,t)=>{let n=Number(e);return Number.isSafeInteger(n)&&n>=t?n:t},incrementPage=e=>e+1,maxPageExceededError=(e,t)=>Error(`Pagination exceeded iterator.maxPage (${e}) at page ${t}`),invalidStepAuthorizationMessage=e=>`step authorization is invalid, check its credential expressions resolve for this account: ${e.issues.map(e=>e.message).join(`; `)}`,ve=__name(({result:e,response:t})=>{if((0,o.isMissing)(t?.nextKey))return null;let n=t?.nextKeyIn??`data`,r=t?.nextKey;return n===`headers`?resolveFromHeaders(e.headers,r):resolveFromData(e.data,r)},`resolveNextIterator`),ye=__name((e,t)=>{if(t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),be=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods),authorization:q.optional(),certificates:J,saml:(0,o.zStrictObject)({objectKey:o.z.string(),key:o.z.string(),clientId:o.z.string(),cert:o.z.unknown().optional(),issuer:o.z.string().optional(),lifetime:o.z.number().optional(),nameId:o.z.string().optional(),audience:o.z.string().optional(),nameIdentifierFormat:o.z.string().optional(),tokenEndpoint:o.z.string().optional()}).optional(),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),encodeQueryParams:o.z.boolean().optional(),cacheTTL:o.z.number().int().nonnegative().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),inline:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}).superRefine((e,t)=>{let n=e.args??[],r=n.map((e,t)=>({arg:e,index:t})).filter(({arg:e})=>e.inline===!0),i=n.filter(e=>e.in===`body`).length;if(n.forEach((e,n)=>{e.inline===!0&&e.in!==`body`&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline is only valid when in is "body", got "${e.in}"`}),e.inline===!0&&e.spread&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with spread`})}),r.length>0&&i>1)for(let{arg:e,index:n}of r)t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: an inline body arg must be the only "in: body" arg, found ${i}; arg conditions are not considered`});if(r.length>0&&e.saml!==void 0)for(let{arg:e,index:n}of r)t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with the saml parameter`});if(r.length>0&&e.cacheTTL!==void 0&&e.cacheTTL>0)for(let{arg:e,index:n}of r)t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with a nonzero cacheTTL`});for(let{arg:e,index:n}of r)typeof e.value==`string`?e.value.length===0&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`value`],message:`args.${e.name}: inline value must be a non-empty string, got an empty string`}):t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`value`],message:`args.${e.name}: inline value must be a non-empty string, got ${typeof e.value}`})}),xe=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),isJexlExpression=e=>{let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},isErrorWithResponseBody=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`&&`body`in e.response,isErrorWithResponseConfigData=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`&&`config`in e.response&&e.response.config!=null&&typeof e.response.config==`object`&&`data`in e.response.config,requestStepFunction=async({block:e,params:t})=>{let n=c.RequestClientFactory.build();if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?.response?.dataKey,l=a&&isJexlExpression(a),u=t?(0,s.safeEvaluateRecord)({...t,args:i},e):{},d={...u,customErrors:t?.customErrors,response:l?{...u?.response??{},dataKey:a}:u?.response},{baseUrl:f,url:p,method:h,response:g,authorization:_,certificates:v,customErrors:y,encodeQueryParams:b,args:x,saml:S,cacheTTL:C}=be.parse(d),w=u?.authentication?.[e.context.authenticationType]?.[e.context.environment],T=w?.authorization,E=v??w?.certificates,D=E?(0,c.buildHttpsAgent)(E):void 0,O=x?(0,c.parseRequestParameters)(x):{query:{},body:{},headers:{}},k=x?.some(e=>e.in===`body`&&e.inline===!0)??!1,A=(0,o.notMissing)(_)?_:q.parse(T),j=(0,c.createAuthorizationHeaders)(A),M={...O?.headers??{},...j},N=e.connector?.rateLimit,P=e.connector?.concurrency,F=N!==void 0||P!==void 0?{rateLimits:N,concurrency:P}:void 0,I=(0,o.notMissing)(S)?{[S.objectKey]:await generateSamlAssertion({key:S.key,clientId:S.clientId,cert:S.cert,issuer:S.issuer,lifetime:S.lifetime,audience:S.audience,nameId:S.nameId,nameIdentifierFormat:S.nameIdentifierFormat,tokenEndpoint:S.tokenEndpoint})}:{},L=typeof O?.body==`string`||Array.isArray(O?.body)?O?.body:{...O?.body,...I};if(A.type===`none`&&A.signing?.strategy){if(b===!1)return buildStepErrorOutput(Error(`encodeQueryParams: false is not supported when a request signing strategy is configured — signed canonical would not match the wire query`),e);let t=A.signing,n=e.credentials??{};try{let e=(0,c.getSigningStrategy)(t.strategy);if(!e)throw Error(`Signing strategy "${t.strategy}" is not registered`);let r=e({method:h,url:`${f}${p}`,headers:M,query:O?.query??{},body:L},n,t);Object.assign(M,r)}catch(t){return buildStepErrorOutput(t,e)}}let R;try{R=await n.performRequest({httpClient:e.httpClient,url:`${f}${p}`,queryParams:O?.query,encodeQueryParams:b,method:h,headers:M,body:L,customErrorConfigs:y,requestConfig:F,httpsAgent:D,credentials:e.credentials,context:buildRequestContext(e),cacheTTL:C})}catch(t){return k&&(isErrorWithResponseBody(t)&&(t.response.body=m.REDACT_CENSOR),isErrorWithResponseConfigData(t)&&(t.response.config.data=m.REDACT_CENSOR)),buildStepErrorOutput(t,e)}return{block:e,successful:!0,output:{data:Se(g?.dataKey?resolveDataKey(R.data,g.dataKey):R.data,g),raw:k&&R&&`body`in R?{...R,body:m.REDACT_CENSOR}:R,statusCode:R?.status,message:R?.message}}},resolveDataKey=(e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`||!e)return e;let n=(0,s.safeEvaluate)(isJexlExpression(t)?t:`$.${t}`,e);return n===void 0?e[t]:n},Se=__name((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Ce=o.z.union([o.z.string(),o.z.number()]),we=(0,o.zStrictObject)({algorithm:o.z.literal(`RS256`),privateKey:o.z.string(),claims:o.z.record(o.z.string(),Ce)}),Te=(0,o.zStrictObject)({token:o.z.string(),expiresIn:o.z.number(),publicKeyFingerprint:o.z.string()}),computePublicKeyFingerprint=e=>{let t=e.export({format:`der`,type:`spki`});return`SHA256:${(0,h.createHash)(`sha256`).update(t).digest(`base64`)}`},Ee=/^now$/,De=/^now\+(?<amount>\d+)(?<unit>[smh])$/,Oe=`{publicKeyFingerprint}`,ke={s:1,m:60,h:3600},Ae=new Set([`iat`,`exp`,`nbf`]),resolveClaimValue=(e,t,{now:n,publicKeyFingerprint:r})=>{if(typeof t==`number`)return t;let i=t.includes(Oe)?t.split(Oe).join(r):t;if(!Ae.has(e))return i;if(Ee.test(i))return n;let a=i.match(De);return a?.groups?n+Number(a.groups.amount)*ke[a.groups.unit]:i},signJwtStepFunction=async({block:e,params:t})=>{try{let n=t?(0,s.safeEvaluateRecord)(t,e):void 0,{algorithm:r,privateKey:i,claims:a}=we.parse(n),o=(0,h.createPrivateKey)(i),c=computePublicKeyFingerprint((0,h.createPublicKey)(o)),l=Math.floor(Date.now()/1e3),u={};for(let[e,t]of Object.entries(a))u[e]=resolveClaimValue(e,t,{now:l,publicKeyFingerprint:c});let{iat:d,exp:f}=u;if(typeof d!=`number`||typeof f!=`number`)throw Error(`signJwt requires numeric 'iat' and 'exp' claims (use 'now' / 'now+<N>s|m|h' tokens, or pass numbers directly)`);if(f<=d)throw Error(`signJwt requires 'exp' to be greater than 'iat'`);let p=await new g.SignJWT(u).setProtectedHeader({alg:r}).sign(o);return{block:{...e},successful:!0,output:{token:p,expiresIn:f-d,publicKeyFingerprint:c}}}catch(t){return buildStepErrorOutput(t,e)}},je=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods),authorization:o.z.discriminatedUnion(`type`,[(0,o.zStrictObject)({type:o.z.literal(`none`)}),(0,o.zStrictObject)({type:o.z.literal(`basic`),username:o.z.string().optional(),password:o.z.string().optional(),encoding:o.z.string().optional()}),(0,o.zStrictObject)({type:o.z.literal(`bearer`),token:o.z.string(),includeBearer:o.z.boolean().optional().default(!0)}),(0,o.zStrictObject)({type:o.z.literal(`oauth2`),token:o.z.string(),includeBearer:o.z.boolean().optional().default(!0)})]).optional(),envelope:o.z.union([o.z.string(),o.z.record(o.z.string(),o.z.unknown())]).optional(),namespaces:o.z.strictObject({namespaceIdentifier:o.z.string(),namespace:o.z.string()}).array().optional(),soapOperation:o.z.string().optional(),soapAction:o.z.string().optional(),useSoapContext:o.z.boolean().optional().default(!0),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional(),nextKey:o.z.string().optional(),nextKeyIn:o.z.enum([`data`,`headers`]).optional()}).optional(),iterator:(0,o.zStrictObject)({key:o.z.string(),in:o.z.enum([`query`,`body`])}),cursor:(0,o.zStrictObject)({token:o.z.string().optional().nullable(),position:o.z.number().optional().nullable()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),encodeQueryParams:o.z.boolean().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}),Me=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional(),next:o.z.string().optional().nullable(),position:o.z.number().optional()}).optional(),soapPaginatedRequestStepFunction=async({block:e,params:t})=>{let n=c.RequestClientFactory.build(`soap`);if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=Number(e.inputs?.page_size),a=Number.isNaN(i)?25:i,l=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,u=t?(0,s.safeEvaluateRecord)({...t,args:l},e):{},d={...u,customErrors:t?.customErrors,response:preserveJexlResponseKeys(t,u?.response)},f=t?.envelope,{baseUrl:p,url:m,method:h,response:g,iterator:_,cursor:v,authorization:y,customErrors:b,encodeQueryParams:x,args:S,soapOperation:C,namespaces:w,soapAction:T,useSoapContext:E}=je.parse(d),D=u?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,O=S?(0,c.parseRequestParameters)(S):{query:{},body:{},headers:{}},k=(0,c.createAuthorizationHeaders)((0,o.notMissing)(y)?y:q.parse(D)),A={...O?.headers??{},...k},j=e.connector?.rateLimit,M=e.connector?.concurrency,N={...j!==void 0||M!==void 0?{rateLimits:j,concurrency:M}:void 0,soapOperation:C,namespaces:w,soapAction:T,soapContext:E?{username:e.credentials?.username,password:e.credentials?.password}:void 0},P=v?.token??null,F=null,I=null,L=[],R=[],z=[],B=a,V=v?.position??0,H=!0,U;do{H?H=!1:V=0,P!==null&&(_.in===`query`?O.query[_.key]=P.toString():_.in===`body`&&(O.body[_.key]=P));let t;try{t=await n.performRequest({httpClient:e.httpClient,url:`${p}${m}`,queryParams:{...O?.query},encodeQueryParams:x,method:h,headers:A,body:O?.body,customErrorConfigs:b,requestConfig:{...N,...(0,o.notMissing)(f)&&{envelope:evaluateEnvelope(f,e,P)}},credentials:e.credentials,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}F=P,R=g?.dataKey?he(t.data,g.dataKey):t.data,Array.isArray(R)||(R=R?[R]:[]);let r=R?.slice(V,V+B);B-=r.length,V+=r.length,z.push(t),L=L.concat(r),I=t?.status,P=resolveNextIterator({result:t,response:g});let i=V>=(R?.length??0),s=(0,o.notMissing)(g?.nextKey),c=r.length===R.length&&B===0;s&&i&&(V=0,F=P),U=s?i&&(0,o.isMissing)(P):(0,o.isMissing)(P)&&L.length<a||c}while((0,o.notMissing)(P)&&L.length<a&&R?.length>0);return{block:e,successful:!0,output:{data:Ne(L,g),raw:z,statusCode:I,next:U?void 0:stringifyCursorToken(F),position:U?void 0:V}}},stringifyCursorToken=e=>e===null?null:String(e),evaluateEnvelope=(e,t,n)=>{let r={...t,pageIterator:n};return typeof e==`string`?(0,s.safeEvaluate)(e,r):(0,s.safeEvaluateRecord)(e,r)},resolveNextIterator=({result:e,response:t})=>{if((0,o.isMissing)(t?.nextKey))return null;let n=t?.nextKeyIn??`data`,r=t?.nextKey,i=n===`headers`?resolveFromHeaders(e.headers,r):resolveFromData(e.data,r);return typeof i==`string`||typeof i==`number`?i:null},Ne=__name((e,t)=>{if(t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Pe=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods),authorization:q.optional(),envelope:o.z.union([o.z.string(),o.z.record(o.z.string(),o.z.unknown())]).optional(),namespaces:o.z.strictObject({namespaceIdentifier:o.z.string(),namespace:o.z.string()}).array().optional(),soapOperation:o.z.string().optional(),soapAction:o.z.string().optional(),useSoapContext:o.z.boolean().optional().default(!0),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),encodeQueryParams:o.z.boolean().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}),Fe=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),soapRequestStepFunction=async({block:e,params:t})=>{let n=c.RequestClientFactory.build(`soap`);if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?(0,s.safeEvaluateRecord)({...t,args:i},e):{},l={...a,customErrors:t?.customErrors},{baseUrl:u,url:d,method:f,response:p,authorization:m,customErrors:h,encodeQueryParams:g,args:_,soapOperation:v,namespaces:y,envelope:b,soapAction:x,useSoapContext:S}=Pe.parse(l),C=a?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,w=_?(0,c.parseRequestParameters)(_):{query:{},body:{},headers:{}},T=(0,c.createAuthorizationHeaders)((0,o.notMissing)(m)?m:q.parse(C)),E={...w?.headers??{},...T},D=e.connector?.rateLimit,O=e.connector?.concurrency,k={...D!==void 0||O!==void 0?{rateLimits:D,concurrency:O}:void 0,soapOperation:v,namespaces:y,envelope:b,soapAction:x,soapContext:S?{username:e.credentials?.username,password:e.credentials?.password}:void 0},A;try{A=await n.performRequest({httpClient:e.httpClient,url:`${u}${d}`,queryParams:w?.query,encodeQueryParams:g,method:f,headers:E,body:w?.body,customErrorConfigs:h,requestConfig:k,credentials:e.credentials,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}return{block:e,successful:!0,output:{data:Ie(p?.dataKey?A.data[p?.dataKey]:A.data,p),raw:A,statusCode:A?.status,message:A?.message}}},Ie=__name((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Le=o.z.object({values:o.z.string().or(o.z.record(o.z.string(),o.z.unknown())).or(o.z.array(o.z.unknown()))}),Re=o.z.object({data:o.z.unknown()}),staticValuesStepFunction=async({block:e,params:t})=>{let{values:n}=Le.parse(t),r=Array.isArray(n)?n.map(t=>evaluateValue(t,e)):evaluateValue(n,e);return{block:{...e},successful:!0,output:{data:r}}},evaluateValue=(e,t)=>(0,o.isString)(e)?(0,s.safeEvaluate)(e,t):(0,o.isObject)(e)?(0,s.safeEvaluateRecord)(e,t):e,ze=o.z.object({targetFieldKey:o.z.string(),type:o.z.enum([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:o.z.boolean().default(!1),custom:o.z.boolean().default(!1),hidden:o.z.boolean().default(!1),properties:o.z.lazy(()=>ze).array().optional(),requiredScopes:o.z.string().array().optional()}),Be=o.z.object({fields:ze.array().optional(),dataSource:o.z.string()}),Ve=o.z.object({data:o.z.unknown()});let He=function(e){return e.String=`string`,e.Number=`number`,e.Boolean=`boolean`,e.DateTimeString=`datetime_string`,e}({});const typecast=({value:e,type:t,format:n})=>{if((0,o.isMissing)(e))return null;switch(t){case`string`:return(0,o.safeParseToString)({value:e});case`number`:return(0,o.safeParseToNumber)({value:e});case`boolean`:return(0,o.safeParseToBoolean)({value:e});case`datetime_string`:return(0,o.safeParseToDateTimeString)({value:e,format:n});default:return e}},isFieldSupportedType=e=>Object.values(He).includes(e),Ue=__name(async({block:e})=>{let t=e?.fieldConfigs;if(!t||e?.debug?.custom_mappings===`disabled`)return{block:e,successful:!0};let n;return n=Array.isArray(e.result)?e.result.map(e=>We(e,t)):We(e.result,t),{block:{...e,result:n},successful:!0}},`typecastStepFunction`),We=__name((e,t)=>{let n={...e};return t.forEach(t=>{let{targetFieldKey:r,type:i}=t;isFieldSupportedType(i)&&(!t.custom&&(0,o.notMissing)(n[r])?n[r]=typecast({value:e[r],type:i}):n.unified_custom_fields&&(0,o.notMissing)(n.unified_custom_fields?.[r])&&(n.unified_custom_fields[r]=typecast({value:e.unified_custom_fields?.[r],type:i})))}),{...n}},`mapSingleRecord`),typecastStepFunction=async({block:e,params:t})=>{let{fields:n,dataSource:r}=Be.parse(t),i=(0,s.evaluate)(r,buildExpressionContext(e));if(!n||e?.debug?.custom_mappings===`disabled`)return{block:e,successful:!0};let a;return a=Array.isArray(i)?i.map(e=>mapSingleRecord(e,n)):mapSingleRecord(i,n),{block:{...e},successful:!0,output:{data:a}}},handleObjectField=(e,t)=>!e.properties||!t?t:Array.isArray(t)?t.map(t=>typeof t==`object`&&t?mapSingleRecord(t,e.properties):t):typeof t==`object`&&t?mapSingleRecord(t,e.properties):t,mapSingleRecord=(e,t)=>{let n={...e};return t.forEach(t=>{let{targetFieldKey:r,type:i,array:a}=t;i===`object`?!t.custom&&(0,o.notMissing)(n[r])?n[r]=handleObjectField(t,e[r]):n.unified_custom_fields&&(0,o.notMissing)(n.unified_custom_fields?.[r])&&(n.unified_custom_fields[r]=handleObjectField(t,e.unified_custom_fields?.[r])):isFieldSupportedType(i)&&(!t.custom&&(0,o.notMissing)(n[r])?(!a||!Array.isArray(n[r]))&&(n[r]=typecast({value:e[r],type:i})):n.unified_custom_fields&&(0,o.notMissing)(n.unified_custom_fields?.[r])&&(!a||!Array.isArray(n.unified_custom_fields[r]))&&(n.unified_custom_fields[r]=typecast({value:e.unified_custom_fields?.[r],type:i})))}),{...n}},Ge=(0,o.zStrictObject)({content:o.z.string().describe(`The file content as base64 encoded string`),contentType:o.z.string().optional().describe(`The MIME type for the binary content (defaults to application/octet-stream)`)}),Ke=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods).default(`post`),authorization:q.optional(),binaryContent:Ge.describe(`Raw binary content for octet-stream uploads`),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional().describe(`Additional request parameters (query params, headers)`)}),qe=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),uploadBinaryStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n}=t,r=n?n.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,i=t?(0,s.safeEvaluateRecord)({...t,args:r},e):{},a={...i,customErrors:t?.customErrors},{baseUrl:l,url:u,method:d,response:f,authorization:p,binaryContent:m,args:h,customErrors:g}=Ke.parse(a),_=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,v=h?(0,c.parseRequestParameters)(h):{query:{},body:{},headers:{}},y=(0,c.createAuthorizationHeaders)((0,o.notMissing)(p)?p:q.parse(_)),b=Buffer.from(m.content,`base64`),x={"content-type":m.contentType??`application/octet-stream`,...v?.headers??{},...y},S=e.connector?.rateLimit,C=e.connector?.concurrency,w=S!==void 0||C!==void 0?{rateLimits:S,concurrency:C}:void 0,T;try{T=await e.httpClient.request({url:`${l??``}${u}`,method:d,headers:x,queryParams:v?.query,payload:b,requestConfig:w,context:buildRequestContext(e)})}catch(t){let n=t;return{block:e,successful:!1,errors:[(0,c.serializeHttpResponseError)(t)],output:{statusCode:n?.response?.status??500,message:n?.response?.message}}}let E=(0,c.translateCustomError)(T,g,e.credentials);return(0,c.isFailedStatusCode)(E?.status)?{block:e,successful:!1,errors:[(0,c.serializeHttpResponseError)(new c.HttpResponseError(E,E.message))],output:{statusCode:E.status,message:E.message}}:{block:e,successful:!0,output:{data:Je(f?.dataKey?E.data[f?.dataKey]:E.data,f),raw:E,statusCode:E?.status,message:E?.message}}},Je=__name((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Ye=(0,o.zStrictObject)({fieldName:o.z.string().describe(`The form field name for the file`),content:o.z.string().describe(`The file content as base64 encoded string`),filename:o.z.string().describe(`The filename to use in the upload`),contentType:o.z.string().optional().describe(`The MIME type of the file (e.g., "image/png", "application/pdf")`)}),Xe=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods).default(`post`),authorization:q.optional(),file:Ye.describe(`The file to upload`),additionalFields:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),condition:o.z.string().optional(),contentType:o.z.string().optional().describe(`The MIME type for this form field (e.g., "application/json")`)}).array().optional().describe(`Additional form fields to include in the multipart request`),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional().describe(`Additional request parameters (query params, headers)`)}),Ze=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),uploadFileStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n,additionalFields:r}=t,i=n?n.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,l=t?(0,s.safeEvaluateRecord)({...t,args:i,additionalFields:a},e):{},u={...l,customErrors:t?.customErrors},{baseUrl:d,url:f,method:p,response:m,authorization:h,file:g,additionalFields:v,args:y,customErrors:b}=Xe.parse(u),x=l?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,S=y?(0,c.parseRequestParameters)(y):{query:{},body:{},headers:{}},C=(0,c.createAuthorizationHeaders)((0,o.notMissing)(h)?h:q.parse(x)),w=new _.default;if(v)for(let e of v){let t=typeof e.value==`object`?JSON.stringify(e.value):String(e.value);w.append(e.name,t,e.contentType?{contentType:e.contentType}:void 0)}let T=Buffer.from(g.content,`base64`);w.append(g.fieldName,T,{filename:g.filename,contentType:g.contentType});let E={...w.getHeaders(),...S?.headers??{},...C},D=e.connector?.rateLimit,O=e.connector?.concurrency,k=D!==void 0||O!==void 0?{rateLimits:D,concurrency:O}:void 0,A;try{A=await e.httpClient.request({url:`${d??``}${f}`,method:p,headers:E,queryParams:S?.query,payload:w,requestConfig:k,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}let j=(0,c.translateCustomError)(A,b,e.credentials);return(0,c.isFailedStatusCode)(j?.status)?buildStepErrorOutput(new c.HttpResponseError(j,j.message),e):{block:e,successful:!0,output:{data:indexResponseData(m?.dataKey?j.data[m?.dataKey]:j.data,m),raw:j,statusCode:j?.status,message:j?.message}}},indexResponseData=(e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e};let Qe=function(e){return e.TYPECAST=`typecast`,e.MAP_FIELDS=`map_fields`,e.GROUP_DATA=`group_data`,e.REQUEST=`request`,e.PAGINATED_REQUEST=`paginated_request`,e.SOAP_REQUEST=`soap_request`,e.SOAP_PAGINATED_REQUEST=`soap_paginated_request`,e.STATIC_VALUES=`static_values`,e.UPLOAD_FILE=`upload_file`,e.UPLOAD_BINARY=`upload_binary`,e.DOWNLOAD_FILE=`download_file`,e.EMIT_EVENT=`emit_event`,e.BROWSER_USE=`browser_use`,e.CODE_EXECUTION_LAMBDA=`code_execution_lambda`,e.SIGN_JWT=`sign_jwt`,e.MCP_REQUEST=`mcp_request`,e}({});const $e={typecast:{v1:{fn:Ue},v2:{fn:typecastStepFunction,inputSchema:Be,outputSchema:Ve}},map_fields:{v1:{fn:ae},v2:{fn:mapFieldsStepFunction,inputSchema:le,outputSchema:ue}},request:{v1:{fn:requestStepFunction,inputSchema:be,outputSchema:xe}},group_data:{v1:{fn:groupDataStepFunction,inputSchema:ie,outputSchema:Z}},paginated_request:{v1:{fn:paginatedRequestStepFunction,inputSchema:ge,outputSchema:_e}},soap_request:{v1:{fn:soapRequestStepFunction,inputSchema:Pe,outputSchema:Fe}},soap_paginated_request:{v1:{fn:soapPaginatedRequestStepFunction,inputSchema:je,outputSchema:Me}},static_values:{v1:{fn:staticValuesStepFunction,inputSchema:Le,outputSchema:Re}},upload_file:{v1:{fn:uploadFileStepFunction,inputSchema:Xe,outputSchema:Ze}},upload_binary:{v1:{fn:uploadBinaryStepFunction,inputSchema:Ke,outputSchema:qe}},download_file:{v1:{fn:downloadFileStepFunction,inputSchema:ne,outputSchema:Y}},emit_event:{v1:{fn:emitEventStepFunction,inputSchema:X,outputSchema:re}},browser_use:{v1:{fn:browserUseStepFunction,inputSchema:F,outputSchema:I}},code_execution_lambda:{v1:{fn:codeExecutionLambdaStepFunction,inputSchema:L,outputSchema:R}},sign_jwt:{v1:{fn:signJwtStepFunction,inputSchema:we,outputSchema:Te}},mcp_request:{v1:{fn:mcpRequestStepFunction,inputSchema:pe,outputSchema:me}}},formatZodIssues=(e,t,n)=>e instanceof o.z.ZodError?e.issues.map(e=>({...e,kind:t,functionName:n})):[{kind:t,functionName:n,message:e?.message??`unknown error`}],stepFunctionEnhancedWithSchemasValidation=(e,t)=>async({block:n,params:r})=>{try{e.inputSchema&&e.inputSchema.parse(r)}catch(e){return{block:n,successful:!1,errors:formatZodIssues(e,`input_schema_validation`,t)}}let i=await e.fn({block:n,params:r});try{e.outputSchema&&e.outputSchema.parse(i.output)}catch(e){return{block:n,successful:!1,errors:formatZodIssues(e,`output_schema_validation`,t)}}return i},et={build({functionName:e,version:t=`1`,validateSchemas:n=!1,stepFunctionsList:r=$e}){let i=r?.[e]?.[`v${t}`];if(!i)throw Error(`Unknown step function: ${e} v${t}`);return n?{...i,fn:stepFunctionEnhancedWithSchemasValidation(i,e)}:i}},isForeachStep=e=>`iterator`in e&&typeof e.iterator==`string`;exports.AUTHORIZATION_SCHEMA=q,exports.AuthType=P,exports.BROWSER_USE_INPUT_PARAMS=F,exports.BROWSER_USE_OUTPUT=I,exports.COMPOSITE_ID_LATEST_VERSION=1,exports.ChangelogLabels=D,exports.CoreError=C,exports.ExecutionModes=O,exports.FORMAT_PATTERNS=w,exports.INPUT_ENUM_REGISTRY=T,exports.MCP_REQUEST_INPUT_PARAMS=pe,exports.MCP_REQUEST_OUTPUT=me,exports.ReleaseStages=E,exports.SourceType=j,exports.StepFunctionName=Qe,exports.StepFunctionsFactory=et,exports.StepFunctionsRegistry=$e,exports.StreamType=N,exports.TransportType=M,exports.areCursorsEqual=areCursorsEqual,exports.buildExpressionContext=buildExpressionContext,exports.computeDataSyncFingerprint=computeDataSyncFingerprint,exports.decodeCompositeId=decodeCompositeId,exports.encodeCompositeId=encodeCompositeId,exports.evaluateEventRouter=evaluateEventRouter,exports.evaluateExternalAccountIdExtractor=evaluateExternalAccountIdExtractor,exports.expandCursor=expandCursor,exports.getCategoryDetails=getCategoryDetails,exports.getInputEnumValues=getInputEnumValues,exports.getIteratorLocation=getIteratorLocation,exports.getPaginationKeys=getPaginationKeys,exports.isCompositeId=isCompositeId,exports.isCoreError=isCoreError,exports.isCursorEmpty=isCursorEmpty,exports.isForeachStep=isForeachStep,exports.isValidCategory=isValidCategory,exports.isValidEnumRef=isValidEnumRef,exports.minifyCursor=minifyCursor,exports.stripIncrementalParams=stripIncrementalParams,exports.stripPaginationParams=stripPaginationParams,exports.updateCursor=updateCursor;
|
|
3
|
+
-----END PRIVATE KEY-----`)},$=__name(e=>{let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},`isJexlExpression`),xe=__name((e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`||!e)return e;let n=(0,s.safeEvaluate)($(t)?t:`$.${t}`,e);return n===void 0?e[t]:n},`resolveDataKey`),resolveFromHeaders=(e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`)return null;if($(t)){let n=(0,s.safeEvaluate)(t,e);return typeof n==`string`&&n!==``||typeof n==`number`?n:null}let n=t.toLowerCase(),[,r]=Object.entries(e).find(([e])=>e?.toLowerCase()===n)??[];if(Array.isArray(r)){let e=r.find(e=>typeof e==`string`&&e!==``||typeof e==`number`);return typeof e==`string`||typeof e==`number`?e:null}return typeof r==`string`&&r!==``||typeof r==`number`?r:null},resolveFromData=(e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`||!e)return null;let n=(0,s.safeEvaluate)($(t)?t:`$.${t}`,e);return(0,o.isMissing)(n)?null:typeof n==`string`||typeof n==`number`||typeof n==`object`?n:null},preserveJexlResponseKeys=(e,t)=>{let{nextKey:n,dataKey:r}=e?.response??{},i=n&&$(n),a=r&&$(r);return!i&&!a?t:{...t??{},...i?{nextKey:n}:{},...a?{dataKey:r}:{}}},Se=o.z.object({baseUrl:o.z.string(),url:o.z.string(),method:o.z.enum(c.HttpMethods),authorization:Z.optional(),saml:(0,o.zStrictObject)({objectKey:o.z.string(),key:o.z.string(),clientId:o.z.string(),cert:o.z.unknown().optional(),issuer:o.z.string().optional(),lifetime:o.z.number().optional(),nameId:o.z.string().optional(),audience:o.z.string().optional(),nameIdentifierFormat:o.z.string().optional(),tokenEndpoint:o.z.string().optional()}).optional(),response:(0,o.zStrictObject)({indexField:o.z.string().optional(),dataKey:o.z.string().optional(),nextKey:o.z.string().optional(),nextKeyIn:o.z.enum([`data`,`headers`]).optional()}).optional(),iterator:(0,o.zStrictObject)({key:o.z.string(),in:o.z.enum([`query`,`body`]),condition:o.z.string().optional(),mode:o.z.enum([`cursor`,`offset`,`page`]).optional(),startPage:o.z.number().int().min(0).max(2**53-1).optional(),maxPage:o.z.number().int().positive().max(1e4).optional()}).superRefine((e,t)=>{e.startPage!==void 0&&e.mode!==`page`&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`startPage`],message:`startPage is only valid when iterator.mode is "page"`}),e.maxPage!==void 0&&e.mode!==`page`&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`maxPage`],message:`maxPage is only valid when iterator.mode is "page"`});let n=e.maxPage??1e3;e.mode===`page`&&(e.startPage??1)>n&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`startPage`],message:`startPage must not exceed maxPage (${n})`})}),cursor:(0,o.zStrictObject)({token:o.z.string().optional().nullable(),position:o.z.number().optional().nullable()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),encodeQueryParams:o.z.boolean().optional(),cacheTTL:o.z.number().int().nonnegative().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}),Ce=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional(),next:o.z.string().optional().nullable(),position:o.z.number().optional()}).optional(),paginatedRequestStepFunction=async({block:e,params:t})=>{let n=c.RequestClientFactory.build();if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=Number(e.inputs?.page_size),a=Number.isNaN(i)?25:i,l=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,u=t?(0,s.safeEvaluateRecord)({...t,args:l},e):{},d={...u,customErrors:t?.customErrors,iterator:{...u?.iterator??{},condition:t?.iterator?.condition},response:preserveJexlResponseKeys(t,u?.response)},f=d.authorization;if((0,o.notMissing)(f)){let t=Z.safeParse(f);if(!t.success)return buildStepErrorOutput(Error(invalidStepAuthorizationMessage(t.error)),e)}let{baseUrl:p,url:m,method:h,response:g,authorization:_,iterator:v,cursor:y,customErrors:b,encodeQueryParams:x,args:S,saml:C,cacheTTL:w}=Se.parse(d),T=u?.authentication?.[e.context.authenticationType]?.[e.context.environment],E=T?.authorization,D=T?.certificates,O=D?(0,c.buildHttpsAgent)(D):void 0,k=(0,o.notMissing)(_)?_:Z.parse(E);if(k.type===`none`&&(0,o.notMissing)(k.signing))return buildStepErrorOutput(Error(`authorization.signing is not supported on paginated_request steps — every page changes the query string, so the signature would have to be recomputed per page; use a request step instead`),e);let A=S?(0,c.parseRequestParameters)(S):{query:{},body:{},headers:{}},j=(0,c.createAuthorizationHeaders)(k),M={...A?.headers??{},...j},N=e.connector?.rateLimit,P=e.connector?.concurrency,F=N!==void 0||P!==void 0?{rateLimits:N,concurrency:P}:void 0,I=buildRequestContext(e),L=(0,o.notMissing)(C)?{[C.objectKey]:await generateSamlAssertion({key:C.key,clientId:C.clientId,cert:C.cert,issuer:C.issuer,lifetime:C.lifetime,audience:C.audience,nameId:C.nameId,nameIdentifierFormat:C.nameIdentifierFormat,tokenEndpoint:C.tokenEndpoint})}:{},R=v.mode===`offset`,z=v.mode===`page`,B=v.maxPage??1e3,V=B+1,H=z?resolveInitialPage(y?.token,v.startPage??1):y?.token??null,U=null,W=null,G=[],K=[],ee=[],q=a,J=y?.position??0,te=!0,Y=!0,X=!0,ne=null;do{if(z&&Number(H)>V)return buildStepErrorOutput(maxPageExceededError(B,H),e);te?te=!1:R||(J=0),H===null?R&&(v.in===`query`?A.query[v.key]=J.toString():v.in===`body`&&(Array.isArray(A.body)||(A.body[v.key]=J))):v.in===`query`?(0,o.isObject)(H)?Object.entries(H).forEach(([e,t])=>{A.query[`${v.key}[${e}]`]=t?.toString()??``}):A.query[v.key]=H.toString():v.in===`body`&&(Array.isArray(A.body)||(A.body[v.key]=H));let t;try{t=await n.performRequest({httpClient:e.httpClient,url:`${p}${m}`,queryParams:{...A?.query},encodeQueryParams:x,method:h,headers:{...M},body:Array.isArray(A?.body)?A.body:{...typeof A?.body==`string`?void 0:A?.body,...L},customErrorConfigs:b,requestConfig:F,httpsAgent:O,credentials:e.credentials,context:I,cacheTTL:w})}catch(t){return buildStepErrorOutput(t,e)}if(U=H,K=g?.dataKey?xe(t.data,g.dataKey):t.data,!Array.isArray(K)){let n=z?` at page ${U}`:``,r=g?.dataKey?` at "${g.dataKey}"`:``,i=K===null?`null`:typeof K;e.logger?.warning({message:`Pagination stopped${n}: expected an array of records${r} but received ${i}; treating it as an empty page`}),ee.push(t),W=t?.status,Y=!0;break}if(z){let t=(0,o.getContentHash)(K);if(t===ne){e.logger?.warning({message:`Pagination stopped at page ${U}: the provider returned the previous page again, so the page number is not advancing`}),Y=!0;break}ne=t}if(z&&Number(U)>B&&K.length>0)return buildStepErrorOutput(maxPageExceededError(B,U),e);let r=R?K?.slice(0,q):K?.slice(J,J+q);q-=r.length,J+=r.length,ee.push(t),G=G.concat(r),W=t?.status,H=z?incrementPage(Number(U)):we({result:t,response:g}),X=(0,o.notMissing)(v.condition)?(0,s.safeEvaluate)(v.condition,t.data)===!0:!0;let i=J>=(K?.length??0),c=(0,o.notMissing)(g?.nextKey),l=r.length===K.length&&q===0;!R&&(c||z)&&i&&(J=0,U=H),Y=R?!X||(0,o.isMissing)(H)&&G.length<a:z?i&&(!X||G.length<a):c?i&&((0,o.isMissing)(H)||!X):!X||(0,o.isMissing)(H)&&G.length<a||l}while((R||(0,o.notMissing)(H))&&X&&G.length<a&&K?.length>0);let re=Te(G,g),ie=Y?void 0:U;return{block:e,successful:!0,output:{data:re,raw:ee,statusCode:W,next:z&&typeof ie==`number`?ie.toString():ie,position:Y?void 0:J}}},resolveInitialPage=(e,t)=>{let n=Number(e);return Number.isSafeInteger(n)&&n>=t?n:t},incrementPage=e=>e+1,maxPageExceededError=(e,t)=>Error(`Pagination exceeded iterator.maxPage (${e}) at page ${t}`),invalidStepAuthorizationMessage=e=>`step authorization is invalid, check its credential expressions resolve for this account: ${e.issues.map(e=>e.message).join(`; `)}`,we=__name(({result:e,response:t})=>{if((0,o.isMissing)(t?.nextKey))return null;let n=t?.nextKeyIn??`data`,r=t?.nextKey;return n===`headers`?resolveFromHeaders(e.headers,r):resolveFromData(e.data,r)},`resolveNextIterator`),Te=__name((e,t)=>{if(t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Ee=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods),authorization:Z.optional(),certificates:ie,saml:(0,o.zStrictObject)({objectKey:o.z.string(),key:o.z.string(),clientId:o.z.string(),cert:o.z.unknown().optional(),issuer:o.z.string().optional(),lifetime:o.z.number().optional(),nameId:o.z.string().optional(),audience:o.z.string().optional(),nameIdentifierFormat:o.z.string().optional(),tokenEndpoint:o.z.string().optional()}).optional(),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),encodeQueryParams:o.z.boolean().optional(),cacheTTL:o.z.number().int().nonnegative().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),inline:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}).superRefine((e,t)=>{let n=e.args??[],r=n.map((e,t)=>({arg:e,index:t})).filter(({arg:e})=>e.inline===!0),i=n.filter(e=>e.in===`body`).length;if(n.forEach((e,n)=>{e.inline===!0&&e.in!==`body`&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline is only valid when in is "body", got "${e.in}"`}),e.inline===!0&&e.spread&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with spread`})}),r.length>0&&i>1)for(let{arg:e,index:n}of r)t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: an inline body arg must be the only "in: body" arg, found ${i}; arg conditions are not considered`});if(r.length>0&&e.saml!==void 0)for(let{arg:e,index:n}of r)t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with the saml parameter`});if(r.length>0&&e.cacheTTL!==void 0&&e.cacheTTL>0)for(let{arg:e,index:n}of r)t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with a nonzero cacheTTL`});for(let{arg:e,index:n}of r)typeof e.value==`string`?e.value.length===0&&t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`value`],message:`args.${e.name}: inline value must be a non-empty string, got an empty string`}):t.addIssue({code:o.z.ZodIssueCode.custom,path:[`args`,n,`value`],message:`args.${e.name}: inline value must be a non-empty string, got ${typeof e.value}`})}),De=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),isJexlExpression=e=>{let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},isErrorWithResponseBody=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`&&`body`in e.response,isErrorWithResponseConfigData=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`&&`config`in e.response&&e.response.config!=null&&typeof e.response.config==`object`&&`data`in e.response.config,requestStepFunction=async({block:e,params:t})=>{let n=c.RequestClientFactory.build();if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?.response?.dataKey,l=a&&isJexlExpression(a),u=t?(0,s.safeEvaluateRecord)({...t,args:i},e):{},d={...u,customErrors:t?.customErrors,response:l?{...u?.response??{},dataKey:a}:u?.response},{baseUrl:f,url:p,method:h,response:g,authorization:_,certificates:v,customErrors:y,encodeQueryParams:b,args:x,saml:S,cacheTTL:C}=Ee.parse(d),w=u?.authentication?.[e.context.authenticationType]?.[e.context.environment],T=w?.authorization,E=v??w?.certificates,D=E?(0,c.buildHttpsAgent)(E):void 0,O=x?(0,c.parseRequestParameters)(x):{query:{},body:{},headers:{}},k=x?.some(e=>e.in===`body`&&e.inline===!0)??!1,A=(0,o.notMissing)(_)?_:Z.parse(T),j=(0,c.createAuthorizationHeaders)(A),M={...O?.headers??{},...j},N=e.connector?.rateLimit,P=e.connector?.concurrency,F=N!==void 0||P!==void 0?{rateLimits:N,concurrency:P}:void 0,I=(0,o.notMissing)(S)?{[S.objectKey]:await generateSamlAssertion({key:S.key,clientId:S.clientId,cert:S.cert,issuer:S.issuer,lifetime:S.lifetime,audience:S.audience,nameId:S.nameId,nameIdentifierFormat:S.nameIdentifierFormat,tokenEndpoint:S.tokenEndpoint})}:{},L=typeof O?.body==`string`||Array.isArray(O?.body)?O?.body:{...O?.body,...I};if(A.type===`none`&&A.signing?.strategy){if(b===!1)return buildStepErrorOutput(Error(`encodeQueryParams: false is not supported when a request signing strategy is configured — signed canonical would not match the wire query`),e);let t=A.signing,n=e.credentials??{};try{let e=(0,c.getSigningStrategy)(t.strategy);if(!e)throw Error(`Signing strategy "${t.strategy}" is not registered`);let r=e({method:h,url:`${f}${p}`,headers:M,query:O?.query??{},body:L},n,t);Object.assign(M,r)}catch(t){return buildStepErrorOutput(t,e)}}let R;try{R=await n.performRequest({httpClient:e.httpClient,url:`${f}${p}`,queryParams:O?.query,encodeQueryParams:b,method:h,headers:M,body:L,customErrorConfigs:y,requestConfig:F,httpsAgent:D,credentials:e.credentials,context:buildRequestContext(e),cacheTTL:C})}catch(t){return k&&(isErrorWithResponseBody(t)&&(t.response.body=m.REDACT_CENSOR),isErrorWithResponseConfigData(t)&&(t.response.config.data=m.REDACT_CENSOR)),buildStepErrorOutput(t,e)}return{block:e,successful:!0,output:{data:Oe(g?.dataKey?resolveDataKey(R.data,g.dataKey):R.data,g),raw:k&&R&&`body`in R?{...R,body:m.REDACT_CENSOR}:R,statusCode:R?.status,message:R?.message}}},resolveDataKey=(e,t)=>{if((0,o.isMissing)(e)||typeof e!=`object`||!e)return e;let n=(0,s.safeEvaluate)(isJexlExpression(t)?t:`$.${t}`,e);return n===void 0?e[t]:n},Oe=__name((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),ke=o.z.union([o.z.string(),o.z.number()]),Ae=(0,o.zStrictObject)({algorithm:o.z.literal(`RS256`),privateKey:o.z.string(),claims:o.z.record(o.z.string(),ke)}),je=(0,o.zStrictObject)({token:o.z.string(),expiresIn:o.z.number(),publicKeyFingerprint:o.z.string()}),computePublicKeyFingerprint=e=>{let t=e.export({format:`der`,type:`spki`});return`SHA256:${(0,h.createHash)(`sha256`).update(t).digest(`base64`)}`},Me=/^now$/,Ne=/^now\+(?<amount>\d+)(?<unit>[smh])$/,Pe=`{publicKeyFingerprint}`,Fe={s:1,m:60,h:3600},Ie=new Set([`iat`,`exp`,`nbf`]),resolveClaimValue=(e,t,{now:n,publicKeyFingerprint:r})=>{if(typeof t==`number`)return t;let i=t.includes(Pe)?t.split(Pe).join(r):t;if(!Ie.has(e))return i;if(Me.test(i))return n;let a=i.match(Ne);return a?.groups?n+Number(a.groups.amount)*Fe[a.groups.unit]:i},signJwtStepFunction=async({block:e,params:t})=>{try{let n=t?(0,s.safeEvaluateRecord)(t,e):void 0,{algorithm:r,privateKey:i,claims:a}=Ae.parse(n),o=(0,h.createPrivateKey)(i),c=computePublicKeyFingerprint((0,h.createPublicKey)(o)),l=Math.floor(Date.now()/1e3),u={};for(let[e,t]of Object.entries(a))u[e]=resolveClaimValue(e,t,{now:l,publicKeyFingerprint:c});let{iat:d,exp:f}=u;if(typeof d!=`number`||typeof f!=`number`)throw Error(`signJwt requires numeric 'iat' and 'exp' claims (use 'now' / 'now+<N>s|m|h' tokens, or pass numbers directly)`);if(f<=d)throw Error(`signJwt requires 'exp' to be greater than 'iat'`);let p=await new g.SignJWT(u).setProtectedHeader({alg:r}).sign(o);return{block:{...e},successful:!0,output:{token:p,expiresIn:f-d,publicKeyFingerprint:c}}}catch(t){return buildStepErrorOutput(t,e)}},Le=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods),authorization:o.z.discriminatedUnion(`type`,[(0,o.zStrictObject)({type:o.z.literal(`none`)}),(0,o.zStrictObject)({type:o.z.literal(`basic`),username:o.z.string().optional(),password:o.z.string().optional(),encoding:o.z.string().optional()}),(0,o.zStrictObject)({type:o.z.literal(`bearer`),token:o.z.string(),includeBearer:o.z.boolean().optional().default(!0)}),(0,o.zStrictObject)({type:o.z.literal(`oauth2`),token:o.z.string(),includeBearer:o.z.boolean().optional().default(!0)})]).optional(),envelope:o.z.union([o.z.string(),o.z.record(o.z.string(),o.z.unknown())]).optional(),namespaces:o.z.strictObject({namespaceIdentifier:o.z.string(),namespace:o.z.string()}).array().optional(),soapOperation:o.z.string().optional(),soapAction:o.z.string().optional(),useSoapContext:o.z.boolean().optional().default(!0),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional(),nextKey:o.z.string().optional(),nextKeyIn:o.z.enum([`data`,`headers`]).optional()}).optional(),iterator:(0,o.zStrictObject)({key:o.z.string(),in:o.z.enum([`query`,`body`])}),cursor:(0,o.zStrictObject)({token:o.z.string().optional().nullable(),position:o.z.number().optional().nullable()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),encodeQueryParams:o.z.boolean().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}),Re=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional(),next:o.z.string().optional().nullable(),position:o.z.number().optional()}).optional(),soapPaginatedRequestStepFunction=async({block:e,params:t})=>{let n=c.RequestClientFactory.build(`soap`);if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=Number(e.inputs?.page_size),a=Number.isNaN(i)?25:i,l=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,u=t?(0,s.safeEvaluateRecord)({...t,args:l},e):{},d={...u,customErrors:t?.customErrors,response:preserveJexlResponseKeys(t,u?.response)},f=t?.envelope,{baseUrl:p,url:m,method:h,response:g,iterator:_,cursor:v,authorization:y,customErrors:b,encodeQueryParams:x,args:S,soapOperation:C,namespaces:w,soapAction:T,useSoapContext:E}=Le.parse(d),D=u?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,O=S?(0,c.parseRequestParameters)(S):{query:{},body:{},headers:{}},k=(0,c.createAuthorizationHeaders)((0,o.notMissing)(y)?y:Z.parse(D)),A={...O?.headers??{},...k},j=e.connector?.rateLimit,M=e.connector?.concurrency,N={...j!==void 0||M!==void 0?{rateLimits:j,concurrency:M}:void 0,soapOperation:C,namespaces:w,soapAction:T,soapContext:E?{username:e.credentials?.username,password:e.credentials?.password}:void 0},P=v?.token??null,F=null,I=null,L=[],R=[],z=[],B=a,V=v?.position??0,H=!0,U;do{H?H=!1:V=0,P!==null&&(_.in===`query`?O.query[_.key]=P.toString():_.in===`body`&&(O.body[_.key]=P));let t;try{t=await n.performRequest({httpClient:e.httpClient,url:`${p}${m}`,queryParams:{...O?.query},encodeQueryParams:x,method:h,headers:A,body:O?.body,customErrorConfigs:b,requestConfig:{...N,...(0,o.notMissing)(f)&&{envelope:evaluateEnvelope(f,e,P)}},credentials:e.credentials,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}F=P,R=g?.dataKey?xe(t.data,g.dataKey):t.data,Array.isArray(R)||(R=R?[R]:[]);let r=R?.slice(V,V+B);B-=r.length,V+=r.length,z.push(t),L=L.concat(r),I=t?.status,P=resolveNextIterator({result:t,response:g});let i=V>=(R?.length??0),s=(0,o.notMissing)(g?.nextKey),c=r.length===R.length&&B===0;s&&i&&(V=0,F=P),U=s?i&&(0,o.isMissing)(P):(0,o.isMissing)(P)&&L.length<a||c}while((0,o.notMissing)(P)&&L.length<a&&R?.length>0);return{block:e,successful:!0,output:{data:ze(L,g),raw:z,statusCode:I,next:U?void 0:stringifyCursorToken(F),position:U?void 0:V}}},stringifyCursorToken=e=>e===null?null:String(e),evaluateEnvelope=(e,t,n)=>{let r={...t,pageIterator:n};return typeof e==`string`?(0,s.safeEvaluate)(e,r):(0,s.safeEvaluateRecord)(e,r)},resolveNextIterator=({result:e,response:t})=>{if((0,o.isMissing)(t?.nextKey))return null;let n=t?.nextKeyIn??`data`,r=t?.nextKey,i=n===`headers`?resolveFromHeaders(e.headers,r):resolveFromData(e.data,r);return typeof i==`string`||typeof i==`number`?i:null},ze=__name((e,t)=>{if(t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Be=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods),authorization:Z.optional(),envelope:o.z.union([o.z.string(),o.z.record(o.z.string(),o.z.unknown())]).optional(),namespaces:o.z.strictObject({namespaceIdentifier:o.z.string(),namespace:o.z.string()}).array().optional(),soapOperation:o.z.string().optional(),soapAction:o.z.string().optional(),useSoapContext:o.z.boolean().optional().default(!0),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),encodeQueryParams:o.z.boolean().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional()}),Ve=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),soapRequestStepFunction=async({block:e,params:t})=>{let n=c.RequestClientFactory.build(`soap`);if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?(0,s.safeEvaluateRecord)({...t,args:i},e):{},l={...a,customErrors:t?.customErrors},{baseUrl:u,url:d,method:f,response:p,authorization:m,customErrors:h,encodeQueryParams:g,args:_,soapOperation:v,namespaces:y,envelope:b,soapAction:x,useSoapContext:S}=Be.parse(l),C=a?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,w=_?(0,c.parseRequestParameters)(_):{query:{},body:{},headers:{}},T=(0,c.createAuthorizationHeaders)((0,o.notMissing)(m)?m:Z.parse(C)),E={...w?.headers??{},...T},D=e.connector?.rateLimit,O=e.connector?.concurrency,k={...D!==void 0||O!==void 0?{rateLimits:D,concurrency:O}:void 0,soapOperation:v,namespaces:y,envelope:b,soapAction:x,soapContext:S?{username:e.credentials?.username,password:e.credentials?.password}:void 0},A;try{A=await n.performRequest({httpClient:e.httpClient,url:`${u}${d}`,queryParams:w?.query,encodeQueryParams:g,method:f,headers:E,body:w?.body,customErrorConfigs:h,requestConfig:k,credentials:e.credentials,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}return{block:e,successful:!0,output:{data:He(p?.dataKey?A.data[p?.dataKey]:A.data,p),raw:A,statusCode:A?.status,message:A?.message}}},He=__name((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Ue=o.z.object({values:o.z.string().or(o.z.record(o.z.string(),o.z.unknown())).or(o.z.array(o.z.unknown()))}),We=o.z.object({data:o.z.unknown()}),staticValuesStepFunction=async({block:e,params:t})=>{let{values:n}=Ue.parse(t),r=Array.isArray(n)?n.map(t=>evaluateValue(t,e)):evaluateValue(n,e);return{block:{...e},successful:!0,output:{data:r}}},evaluateValue=(e,t)=>(0,o.isString)(e)?(0,s.safeEvaluate)(e,t):(0,o.isObject)(e)?(0,s.safeEvaluateRecord)(e,t):e,Ge=o.z.object({targetFieldKey:o.z.string(),type:o.z.enum([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:o.z.boolean().default(!1),custom:o.z.boolean().default(!1),hidden:o.z.boolean().default(!1),properties:o.z.lazy(()=>Ge).array().optional(),requiredScopes:o.z.string().array().optional()}),Ke=o.z.object({fields:Ge.array().optional(),dataSource:o.z.string()}),qe=o.z.object({data:o.z.unknown()});let Je=function(e){return e.String=`string`,e.Number=`number`,e.Boolean=`boolean`,e.DateTimeString=`datetime_string`,e}({});const typecast=({value:e,type:t,format:n})=>{if((0,o.isMissing)(e))return null;switch(t){case`string`:return(0,o.safeParseToString)({value:e});case`number`:return(0,o.safeParseToNumber)({value:e});case`boolean`:return(0,o.safeParseToBoolean)({value:e});case`datetime_string`:return(0,o.safeParseToDateTimeString)({value:e,format:n});default:return e}},isFieldSupportedType=e=>Object.values(Je).includes(e),Ye=__name(async({block:e})=>{let t=e?.fieldConfigs;if(!t||e?.debug?.custom_mappings===`disabled`)return{block:e,successful:!0};let n;return n=Array.isArray(e.result)?e.result.map(e=>Xe(e,t)):Xe(e.result,t),{block:{...e,result:n},successful:!0}},`typecastStepFunction`),Xe=__name((e,t)=>{let n={...e};return t.forEach(t=>{let{targetFieldKey:r,type:i}=t;isFieldSupportedType(i)&&(!t.custom&&(0,o.notMissing)(n[r])?n[r]=typecast({value:e[r],type:i}):n.unified_custom_fields&&(0,o.notMissing)(n.unified_custom_fields?.[r])&&(n.unified_custom_fields[r]=typecast({value:e.unified_custom_fields?.[r],type:i})))}),{...n}},`mapSingleRecord`),typecastStepFunction=async({block:e,params:t})=>{let{fields:n,dataSource:r}=Ke.parse(t),i=(0,s.evaluate)(r,buildExpressionContext(e));if(!n||e?.debug?.custom_mappings===`disabled`)return{block:e,successful:!0};let a;return a=Array.isArray(i)?i.map(e=>mapSingleRecord(e,n)):mapSingleRecord(i,n),{block:{...e},successful:!0,output:{data:a}}},handleObjectField=(e,t)=>!e.properties||!t?t:Array.isArray(t)?t.map(t=>typeof t==`object`&&t?mapSingleRecord(t,e.properties):t):typeof t==`object`&&t?mapSingleRecord(t,e.properties):t,mapSingleRecord=(e,t)=>{let n={...e};return t.forEach(t=>{let{targetFieldKey:r,type:i,array:a}=t;i===`object`?!t.custom&&(0,o.notMissing)(n[r])?n[r]=handleObjectField(t,e[r]):n.unified_custom_fields&&(0,o.notMissing)(n.unified_custom_fields?.[r])&&(n.unified_custom_fields[r]=handleObjectField(t,e.unified_custom_fields?.[r])):isFieldSupportedType(i)&&(!t.custom&&(0,o.notMissing)(n[r])?(!a||!Array.isArray(n[r]))&&(n[r]=typecast({value:e[r],type:i})):n.unified_custom_fields&&(0,o.notMissing)(n.unified_custom_fields?.[r])&&(!a||!Array.isArray(n.unified_custom_fields[r]))&&(n.unified_custom_fields[r]=typecast({value:e.unified_custom_fields?.[r],type:i})))}),{...n}},Ze=(0,o.zStrictObject)({content:o.z.string().describe(`The file content as base64 encoded string`),contentType:o.z.string().optional().describe(`The MIME type for the binary content (defaults to application/octet-stream)`)}),Qe=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods).default(`post`),authorization:Z.optional(),binaryContent:Ze.describe(`Raw binary content for octet-stream uploads`),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional().describe(`Additional request parameters (query params, headers)`)}),$e=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),uploadBinaryStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n}=t,r=n?n.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,i=t?(0,s.safeEvaluateRecord)({...t,args:r},e):{},a={...i,customErrors:t?.customErrors},{baseUrl:l,url:u,method:d,response:f,authorization:p,binaryContent:m,args:h,customErrors:g}=Qe.parse(a),_=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,v=h?(0,c.parseRequestParameters)(h):{query:{},body:{},headers:{}},y=(0,c.createAuthorizationHeaders)((0,o.notMissing)(p)?p:Z.parse(_)),b=Buffer.from(m.content,`base64`),x={"content-type":m.contentType??`application/octet-stream`,...v?.headers??{},...y},S=e.connector?.rateLimit,C=e.connector?.concurrency,w=S!==void 0||C!==void 0?{rateLimits:S,concurrency:C}:void 0,T;try{T=await e.httpClient.request({url:`${l??``}${u}`,method:d,headers:x,queryParams:v?.query,payload:b,requestConfig:w,context:buildRequestContext(e)})}catch(t){let n=t;return{block:e,successful:!1,errors:[(0,c.serializeHttpResponseError)(t)],output:{statusCode:n?.response?.status??500,message:n?.response?.message}}}let E=(0,c.translateCustomError)(T,g,e.credentials);return(0,c.isFailedStatusCode)(E?.status)?{block:e,successful:!1,errors:[(0,c.serializeHttpResponseError)(new c.HttpResponseError(E,E.message))],output:{statusCode:E.status,message:E.message}}:{block:e,successful:!0,output:{data:et(f?.dataKey?E.data[f?.dataKey]:E.data,f),raw:E,statusCode:E?.status,message:E?.message}}},et=__name((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),tt=(0,o.zStrictObject)({fieldName:o.z.string().describe(`The form field name for the file`),content:o.z.string().describe(`The file content as base64 encoded string`),filename:o.z.string().describe(`The filename to use in the upload`),contentType:o.z.string().optional().describe(`The MIME type of the file (e.g., "image/png", "application/pdf")`)}),nt=o.z.object({baseUrl:o.z.string().optional(),url:o.z.string(),method:o.z.enum(c.HttpMethods).default(`post`),authorization:Z.optional(),file:tt.describe(`The file to upload`),additionalFields:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),condition:o.z.string().optional(),contentType:o.z.string().optional().describe(`The MIME type for this form field (e.g., "application/json")`)}).array().optional().describe(`Additional form fields to include in the multipart request`),response:(0,o.zStrictObject)({collection:o.z.boolean().optional(),indexField:o.z.string().optional(),dataKey:o.z.string().optional()}).optional(),customErrors:c.CUSTOM_ERROR_CONFIG_SCHEMA.array().optional(),args:(0,o.zStrictObject)({name:o.z.string(),value:o.z.unknown(),in:o.z.enum(c.RequestParameterLocations),spread:o.z.boolean().optional(),condition:o.z.string().optional(),arrayFormat:o.z.enum(c.QueryArrayFormats).optional()}).array().optional().describe(`Additional request parameters (query params, headers)`)}),rt=(0,o.zStrictObject)({data:o.z.unknown().optional(),raw:o.z.unknown().optional(),statusCode:o.z.number(),message:o.z.string().optional()}).optional(),uploadFileStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n,additionalFields:r}=t,i=n?n.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=r?r.filter(t=>!t.condition||(0,s.evaluate)(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,l=t?(0,s.safeEvaluateRecord)({...t,args:i,additionalFields:a},e):{},u={...l,customErrors:t?.customErrors},{baseUrl:d,url:f,method:p,response:m,authorization:h,file:g,additionalFields:v,args:y,customErrors:b}=nt.parse(u),x=l?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,S=y?(0,c.parseRequestParameters)(y):{query:{},body:{},headers:{}},C=(0,c.createAuthorizationHeaders)((0,o.notMissing)(h)?h:Z.parse(x)),w=new _.default;if(v)for(let e of v){let t=typeof e.value==`object`?JSON.stringify(e.value):String(e.value);w.append(e.name,t,e.contentType?{contentType:e.contentType}:void 0)}let T=Buffer.from(g.content,`base64`);w.append(g.fieldName,T,{filename:g.filename,contentType:g.contentType});let E={...w.getHeaders(),...S?.headers??{},...C},D=e.connector?.rateLimit,O=e.connector?.concurrency,k=D!==void 0||O!==void 0?{rateLimits:D,concurrency:O}:void 0,A;try{A=await e.httpClient.request({url:`${d??``}${f}`,method:p,headers:E,queryParams:S?.query,payload:w,requestConfig:k,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}let j=(0,c.translateCustomError)(A,b,e.credentials);return(0,c.isFailedStatusCode)(j?.status)?buildStepErrorOutput(new c.HttpResponseError(j,j.message),e):{block:e,successful:!0,output:{data:indexResponseData(m?.dataKey?j.data[m?.dataKey]:j.data,m),raw:j,statusCode:j?.status,message:j?.message}}},indexResponseData=(e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e};let it=function(e){return e.TYPECAST=`typecast`,e.MAP_FIELDS=`map_fields`,e.GROUP_DATA=`group_data`,e.REQUEST=`request`,e.PAGINATED_REQUEST=`paginated_request`,e.SOAP_REQUEST=`soap_request`,e.SOAP_PAGINATED_REQUEST=`soap_paginated_request`,e.STATIC_VALUES=`static_values`,e.UPLOAD_FILE=`upload_file`,e.UPLOAD_BINARY=`upload_binary`,e.DOWNLOAD_FILE=`download_file`,e.EMIT_EVENT=`emit_event`,e.BROWSER_USE=`browser_use`,e.CODE_EXECUTION_LAMBDA=`code_execution_lambda`,e.SIGN_JWT=`sign_jwt`,e.MCP_REQUEST=`mcp_request`,e}({});const at={typecast:{v1:{fn:Ye},v2:{fn:typecastStepFunction,inputSchema:Ke,outputSchema:qe}},map_fields:{v1:{fn:de},v2:{fn:mapFieldsStepFunction,inputSchema:he,outputSchema:ge}},request:{v1:{fn:requestStepFunction,inputSchema:Ee,outputSchema:De}},group_data:{v1:{fn:groupDataStepFunction,inputSchema:le,outputSchema:ue}},paginated_request:{v1:{fn:paginatedRequestStepFunction,inputSchema:Se,outputSchema:Ce}},soap_request:{v1:{fn:soapRequestStepFunction,inputSchema:Be,outputSchema:Ve}},soap_paginated_request:{v1:{fn:soapPaginatedRequestStepFunction,inputSchema:Le,outputSchema:Re}},static_values:{v1:{fn:staticValuesStepFunction,inputSchema:Ue,outputSchema:We}},upload_file:{v1:{fn:uploadFileStepFunction,inputSchema:nt,outputSchema:rt}},upload_binary:{v1:{fn:uploadBinaryStepFunction,inputSchema:Qe,outputSchema:$e}},download_file:{v1:{fn:downloadFileStepFunction,inputSchema:ae,outputSchema:oe}},emit_event:{v1:{fn:emitEventStepFunction,inputSchema:se,outputSchema:ce}},browser_use:{v1:{fn:browserUseStepFunction,inputSchema:V,outputSchema:H}},code_execution_lambda:{v1:{fn:codeExecutionLambdaStepFunction,inputSchema:U,outputSchema:W}},sign_jwt:{v1:{fn:signJwtStepFunction,inputSchema:Ae,outputSchema:je}},mcp_request:{v1:{fn:mcpRequestStepFunction,inputSchema:ye,outputSchema:be}}},formatZodIssues=(e,t,n)=>e instanceof o.z.ZodError?e.issues.map(e=>({...e,kind:t,functionName:n})):[{kind:t,functionName:n,message:e?.message??`unknown error`}],stepFunctionEnhancedWithSchemasValidation=(e,t)=>async({block:n,params:r})=>{try{e.inputSchema&&e.inputSchema.parse(r)}catch(e){return{block:n,successful:!1,errors:formatZodIssues(e,`input_schema_validation`,t)}}let i=await e.fn({block:n,params:r});try{e.outputSchema&&e.outputSchema.parse(i.output)}catch(e){return{block:n,successful:!1,errors:formatZodIssues(e,`output_schema_validation`,t)}}return i},ot={build({functionName:e,version:t=`1`,validateSchemas:n=!1,stepFunctionsList:r=at}){let i=r?.[e]?.[`v${t}`];if(!i)throw Error(`Unknown step function: ${e} v${t}`);return n?{...i,fn:stepFunctionEnhancedWithSchemasValidation(i,e)}:i}},isForeachStep=e=>`iterator`in e&&typeof e.iterator==`string`;exports.AUTHORIZATION_SCHEMA=Z,exports.ActionTypes=O,exports.AuthType=B,exports.BROWSER_USE_INPUT_PARAMS=V,exports.BROWSER_USE_OUTPUT=H,exports.COMPOSITE_ID_LATEST_VERSION=1,exports.ChangelogLabels=D,exports.CoreError=C,exports.Effects=k,exports.ExecutionModes=P,exports.FORMAT_PATTERNS=w,exports.INPUT_ENUM_REGISTRY=T,exports.InputFormats=M,exports.InputLocations=j,exports.InputTypes=N,exports.MCP_REQUEST_INPUT_PARAMS=ye,exports.MCP_REQUEST_OUTPUT=be,exports.ReleaseStages=E,exports.SchemaTypes=A,exports.SourceType=L,exports.StepFunctionName=it,exports.StepFunctionsFactory=ot,exports.StepFunctionsRegistry=at,exports.StreamType=z,exports.TransportType=R,exports.areCursorsEqual=areCursorsEqual,exports.buildExpressionContext=buildExpressionContext,exports.computeDataSyncFingerprint=computeDataSyncFingerprint,exports.decodeCompositeId=decodeCompositeId,exports.encodeCompositeId=encodeCompositeId,exports.evaluateEventRouter=evaluateEventRouter,exports.evaluateExternalAccountIdExtractor=evaluateExternalAccountIdExtractor,exports.expandCursor=expandCursor,exports.getCategoryDetails=getCategoryDetails,exports.getInputEnumValues=getInputEnumValues,exports.getIteratorLocation=getIteratorLocation,exports.getPaginationKeys=getPaginationKeys,exports.isCompositeId=isCompositeId,exports.isCoreError=isCoreError,exports.isCursorEmpty=isCursorEmpty,exports.isForeachStep=isForeachStep,exports.isValidCategory=isValidCategory,exports.isValidEnumRef=isValidEnumRef,exports.minifyCursor=minifyCursor,exports.stripIncrementalParams=stripIncrementalParams,exports.stripPaginationParams=stripPaginationParams,exports.updateCursor=updateCursor;
|
package/dist/index.d.cts
CHANGED
|
@@ -1857,9 +1857,9 @@ declare const stepFunctions: {
|
|
|
1857
1857
|
url: ZodString;
|
|
1858
1858
|
method: ZodEnum<{
|
|
1859
1859
|
get: "get";
|
|
1860
|
+
delete: "delete";
|
|
1860
1861
|
post: "post";
|
|
1861
1862
|
put: "put";
|
|
1862
|
-
delete: "delete";
|
|
1863
1863
|
patch: "patch";
|
|
1864
1864
|
}>;
|
|
1865
1865
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -1958,8 +1958,8 @@ declare const stepFunctions: {
|
|
|
1958
1958
|
name: ZodString;
|
|
1959
1959
|
value: ZodUnknown;
|
|
1960
1960
|
in: ZodEnum<{
|
|
1961
|
-
query: "query";
|
|
1962
1961
|
body: "body";
|
|
1962
|
+
query: "query";
|
|
1963
1963
|
headers: "headers";
|
|
1964
1964
|
}>;
|
|
1965
1965
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -2001,9 +2001,9 @@ declare const stepFunctions: {
|
|
|
2001
2001
|
url: ZodString;
|
|
2002
2002
|
method: ZodEnum<{
|
|
2003
2003
|
get: "get";
|
|
2004
|
+
delete: "delete";
|
|
2004
2005
|
post: "post";
|
|
2005
2006
|
put: "put";
|
|
2006
|
-
delete: "delete";
|
|
2007
2007
|
patch: "patch";
|
|
2008
2008
|
}>;
|
|
2009
2009
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2086,15 +2086,15 @@ declare const stepFunctions: {
|
|
|
2086
2086
|
dataKey: ZodOptional<ZodString>;
|
|
2087
2087
|
nextKey: ZodOptional<ZodString>;
|
|
2088
2088
|
nextKeyIn: ZodOptional<ZodEnum<{
|
|
2089
|
-
data: "data";
|
|
2090
2089
|
headers: "headers";
|
|
2090
|
+
data: "data";
|
|
2091
2091
|
}>>;
|
|
2092
2092
|
}, $strict>>;
|
|
2093
2093
|
iterator: ZodObject<{
|
|
2094
2094
|
key: ZodString;
|
|
2095
2095
|
in: ZodEnum<{
|
|
2096
|
-
query: "query";
|
|
2097
2096
|
body: "body";
|
|
2097
|
+
query: "query";
|
|
2098
2098
|
}>;
|
|
2099
2099
|
condition: ZodOptional<ZodString>;
|
|
2100
2100
|
mode: ZodOptional<ZodEnum<{
|
|
@@ -2121,8 +2121,8 @@ declare const stepFunctions: {
|
|
|
2121
2121
|
name: ZodString;
|
|
2122
2122
|
value: ZodUnknown;
|
|
2123
2123
|
in: ZodEnum<{
|
|
2124
|
-
query: "query";
|
|
2125
2124
|
body: "body";
|
|
2125
|
+
query: "query";
|
|
2126
2126
|
headers: "headers";
|
|
2127
2127
|
}>;
|
|
2128
2128
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -2153,9 +2153,9 @@ declare const stepFunctions: {
|
|
|
2153
2153
|
url: ZodString;
|
|
2154
2154
|
method: ZodEnum<{
|
|
2155
2155
|
get: "get";
|
|
2156
|
+
delete: "delete";
|
|
2156
2157
|
post: "post";
|
|
2157
2158
|
put: "put";
|
|
2158
|
-
delete: "delete";
|
|
2159
2159
|
patch: "patch";
|
|
2160
2160
|
}>;
|
|
2161
2161
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2245,8 +2245,8 @@ declare const stepFunctions: {
|
|
|
2245
2245
|
name: ZodString;
|
|
2246
2246
|
value: ZodUnknown;
|
|
2247
2247
|
in: ZodEnum<{
|
|
2248
|
-
query: "query";
|
|
2249
2248
|
body: "body";
|
|
2249
|
+
query: "query";
|
|
2250
2250
|
headers: "headers";
|
|
2251
2251
|
}>;
|
|
2252
2252
|
condition: ZodOptional<ZodString>;
|
|
@@ -2274,9 +2274,9 @@ declare const stepFunctions: {
|
|
|
2274
2274
|
url: ZodString;
|
|
2275
2275
|
method: ZodEnum<{
|
|
2276
2276
|
get: "get";
|
|
2277
|
+
delete: "delete";
|
|
2277
2278
|
post: "post";
|
|
2278
2279
|
put: "put";
|
|
2279
|
-
delete: "delete";
|
|
2280
2280
|
patch: "patch";
|
|
2281
2281
|
}>;
|
|
2282
2282
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2309,15 +2309,15 @@ declare const stepFunctions: {
|
|
|
2309
2309
|
dataKey: ZodOptional<ZodString>;
|
|
2310
2310
|
nextKey: ZodOptional<ZodString>;
|
|
2311
2311
|
nextKeyIn: ZodOptional<ZodEnum<{
|
|
2312
|
-
data: "data";
|
|
2313
2312
|
headers: "headers";
|
|
2313
|
+
data: "data";
|
|
2314
2314
|
}>>;
|
|
2315
2315
|
}, $strict>>;
|
|
2316
2316
|
iterator: ZodObject<{
|
|
2317
2317
|
key: ZodString;
|
|
2318
2318
|
in: ZodEnum<{
|
|
2319
|
-
query: "query";
|
|
2320
2319
|
body: "body";
|
|
2320
|
+
query: "query";
|
|
2321
2321
|
}>;
|
|
2322
2322
|
}, $strict>;
|
|
2323
2323
|
cursor: ZodOptional<ZodObject<{
|
|
@@ -2335,8 +2335,8 @@ declare const stepFunctions: {
|
|
|
2335
2335
|
name: ZodString;
|
|
2336
2336
|
value: ZodUnknown;
|
|
2337
2337
|
in: ZodEnum<{
|
|
2338
|
-
query: "query";
|
|
2339
2338
|
body: "body";
|
|
2339
|
+
query: "query";
|
|
2340
2340
|
headers: "headers";
|
|
2341
2341
|
}>;
|
|
2342
2342
|
condition: ZodOptional<ZodString>;
|
|
@@ -2377,9 +2377,9 @@ declare const stepFunctions: {
|
|
|
2377
2377
|
url: ZodString;
|
|
2378
2378
|
method: ZodDefault<ZodEnum<{
|
|
2379
2379
|
get: "get";
|
|
2380
|
+
delete: "delete";
|
|
2380
2381
|
post: "post";
|
|
2381
2382
|
put: "put";
|
|
2382
|
-
delete: "delete";
|
|
2383
2383
|
patch: "patch";
|
|
2384
2384
|
}>>;
|
|
2385
2385
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2472,8 +2472,8 @@ declare const stepFunctions: {
|
|
|
2472
2472
|
name: ZodString;
|
|
2473
2473
|
value: ZodUnknown;
|
|
2474
2474
|
in: ZodEnum<{
|
|
2475
|
-
query: "query";
|
|
2476
2475
|
body: "body";
|
|
2476
|
+
query: "query";
|
|
2477
2477
|
headers: "headers";
|
|
2478
2478
|
}>;
|
|
2479
2479
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -2502,9 +2502,9 @@ declare const stepFunctions: {
|
|
|
2502
2502
|
url: ZodString;
|
|
2503
2503
|
method: ZodDefault<ZodEnum<{
|
|
2504
2504
|
get: "get";
|
|
2505
|
+
delete: "delete";
|
|
2505
2506
|
post: "post";
|
|
2506
2507
|
put: "put";
|
|
2507
|
-
delete: "delete";
|
|
2508
2508
|
patch: "patch";
|
|
2509
2509
|
}>>;
|
|
2510
2510
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2589,8 +2589,8 @@ declare const stepFunctions: {
|
|
|
2589
2589
|
name: ZodString;
|
|
2590
2590
|
value: ZodUnknown;
|
|
2591
2591
|
in: ZodEnum<{
|
|
2592
|
-
query: "query";
|
|
2593
2592
|
body: "body";
|
|
2593
|
+
query: "query";
|
|
2594
2594
|
headers: "headers";
|
|
2595
2595
|
}>;
|
|
2596
2596
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -2619,9 +2619,9 @@ declare const stepFunctions: {
|
|
|
2619
2619
|
url: ZodString;
|
|
2620
2620
|
method: ZodDefault<ZodOptional<ZodEnum<{
|
|
2621
2621
|
get: "get";
|
|
2622
|
+
delete: "delete";
|
|
2622
2623
|
post: "post";
|
|
2623
2624
|
put: "put";
|
|
2624
|
-
delete: "delete";
|
|
2625
2625
|
patch: "patch";
|
|
2626
2626
|
}>>>;
|
|
2627
2627
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2725,8 +2725,8 @@ declare const stepFunctions: {
|
|
|
2725
2725
|
name: ZodString;
|
|
2726
2726
|
value: ZodUnknown;
|
|
2727
2727
|
in: ZodEnum<{
|
|
2728
|
-
query: "query";
|
|
2729
2728
|
body: "body";
|
|
2729
|
+
query: "query";
|
|
2730
2730
|
headers: "headers";
|
|
2731
2731
|
}>;
|
|
2732
2732
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -3138,8 +3138,10 @@ type ConnectorMcpConfig = {
|
|
|
3138
3138
|
type Assets = {
|
|
3139
3139
|
icon: string;
|
|
3140
3140
|
};
|
|
3141
|
-
|
|
3142
|
-
type
|
|
3141
|
+
declare const ActionTypes: readonly ["list", "get", "create", "update", "delete", "custom", "refresh_token", "test", "event", "unknown"];
|
|
3142
|
+
type ActionType = (typeof ActionTypes)[number];
|
|
3143
|
+
declare const Effects: readonly ["read", "write", "delete", "search", "execute"];
|
|
3144
|
+
type Effect = (typeof Effects)[number];
|
|
3143
3145
|
type ActionAnnotations = {
|
|
3144
3146
|
title?: string;
|
|
3145
3147
|
readOnlyHint?: boolean;
|
|
@@ -3147,13 +3149,17 @@ type ActionAnnotations = {
|
|
|
3147
3149
|
idempotentHint?: boolean;
|
|
3148
3150
|
openWorldHint?: boolean;
|
|
3149
3151
|
};
|
|
3150
|
-
|
|
3152
|
+
declare const SchemaTypes: readonly ["native", "unified"];
|
|
3153
|
+
type SchemaType = (typeof SchemaTypes)[number];
|
|
3154
|
+
declare const InputLocations: readonly ["body", "query", "path", "headers"];
|
|
3155
|
+
type InputLocation = (typeof InputLocations)[number];
|
|
3151
3156
|
type EnumOneOf = {
|
|
3152
3157
|
values: string[];
|
|
3153
3158
|
} | {
|
|
3154
3159
|
ref: string;
|
|
3155
3160
|
};
|
|
3156
|
-
|
|
3161
|
+
declare const InputFormats: readonly ["email", "url", "uuid", "date", "datetime", "uri"];
|
|
3162
|
+
type InputFormat = (typeof InputFormats)[number];
|
|
3157
3163
|
type InputRules = {
|
|
3158
3164
|
minLength?: number;
|
|
3159
3165
|
maxLength?: number;
|
|
@@ -3163,7 +3169,8 @@ type InputRules = {
|
|
|
3163
3169
|
max?: number;
|
|
3164
3170
|
errorMessage?: string;
|
|
3165
3171
|
};
|
|
3166
|
-
|
|
3172
|
+
declare const InputTypes: readonly ["string", "number", "boolean", "datetime_string", "object", "enum"];
|
|
3173
|
+
type InputType = (typeof InputTypes)[number];
|
|
3167
3174
|
type Input = {
|
|
3168
3175
|
name: string;
|
|
3169
3176
|
type?: InputType;
|
|
@@ -3221,7 +3228,7 @@ type Action = {
|
|
|
3221
3228
|
details?: string;
|
|
3222
3229
|
examples?: ActionExample[];
|
|
3223
3230
|
schema?: Schema;
|
|
3224
|
-
schemaType:
|
|
3231
|
+
schemaType: SchemaType;
|
|
3225
3232
|
endpoint?: string;
|
|
3226
3233
|
resources?: string;
|
|
3227
3234
|
actionType: ActionType;
|
|
@@ -3976,4 +3983,4 @@ type Account = {
|
|
|
3976
3983
|
originOwnerName?: string;
|
|
3977
3984
|
};
|
|
3978
3985
|
//#endregion
|
|
3979
|
-
export { AUTHORIZATION_SCHEMA, type Account, type Action, type ActionAnnotations, type ActionExample, type ActionResponse, type ActionType, type ActionValidationRule, type Assets, AuthType, type Authentication, type AuthenticationConfig, type AuthenticationField, type AuthenticationFieldValidation, type AuthenticationGuides, type AuthenticationNotice, BROWSER_USE_INPUT_PARAMS, BROWSER_USE_OUTPUT, type BaseIncrementalConfig, type BasePaginationConfig, type Block, type BlockContext, type BlockIndexedRecord, COMPOSITE_ID_LATEST_VERSION, type Category, type Changelog, type ChangelogLabel, ChangelogLabels, type Checkpoint, type CompositeIdentifier, type CompositeIdentifierConfig, type CompositeIdentifierConnectorConfig, type Connector, type ConnectorDocumentation, type ConnectorEvents, CoreError, type Cursor, type CursorPaginationConfig, type DataSyncConfig, type DefenderMetadata, type DefenderSettings, type DeltaTokenIncrementalConfig, type DocumentationReference, type Effect, type EnumOneOf, type EventRouter, type EventRouterRule, type EventToEmit, type ExecutionMode, ExecutionModes, type ExpressionContextOptions, FORMAT_PATTERNS, type FieldConfig, type FlowType, type ForeachStep, type Guide, type GuideImage, type GuideSection, type GuideStep, INPUT_ENUM_REGISTRY, type IncrementalConfig, type Input, type InputFormat, type InputLocation, type InputRules, type InputType, type InputVariant, type IntermediateStepSnapshot, type IteratorLocation, MCP_REQUEST_INPUT_PARAMS, MCP_REQUEST_OUTPUT, type MatchedEventAction, type OffsetPaginationConfig, type OnConditionError, type PagePaginationConfig, type PaginationConfig, type ReleaseStage, ReleaseStages, type Schema, type SchemaField, type ScopeDefinition, type Settings, type SimpleStep, type Source, SourceType, type Step, type StepFunction, type StepFunctionMeta, StepFunctionName, type StepFunctionOutput, type StepFunctionParams, StepFunctionsFactory, stepFunctions as StepFunctionsRegistry, type StepsSnapshots, type StreamOutputData, StreamType, type SupportConfig, type SyncParams, type SyncedAction, type TestActionConfig, type TimeFilterIncrementalConfig, TransportType, type WebhookSetup, type WebhookSetupPhase, type WebhookSetupPhaseKind, areCursorsEqual, buildExpressionContext, computeDataSyncFingerprint, decodeCompositeId, encodeCompositeId, evaluateEventRouter, evaluateExternalAccountIdExtractor, expandCursor, getCategoryDetails, getInputEnumValues, getIteratorLocation, getPaginationKeys, isCompositeId, isCoreError, isCursorEmpty, isForeachStep, isValidCategory, isValidEnumRef, minifyCursor, stripIncrementalParams, stripPaginationParams, updateCursor };
|
|
3986
|
+
export { AUTHORIZATION_SCHEMA, type Account, type Action, type ActionAnnotations, type ActionExample, type ActionResponse, type ActionType, ActionTypes, type ActionValidationRule, type Assets, AuthType, type Authentication, type AuthenticationConfig, type AuthenticationField, type AuthenticationFieldValidation, type AuthenticationGuides, type AuthenticationNotice, BROWSER_USE_INPUT_PARAMS, BROWSER_USE_OUTPUT, type BaseIncrementalConfig, type BasePaginationConfig, type Block, type BlockContext, type BlockIndexedRecord, COMPOSITE_ID_LATEST_VERSION, type Category, type Changelog, type ChangelogLabel, ChangelogLabels, type Checkpoint, type CompositeIdentifier, type CompositeIdentifierConfig, type CompositeIdentifierConnectorConfig, type Connector, type ConnectorDocumentation, type ConnectorEvents, CoreError, type Cursor, type CursorPaginationConfig, type DataSyncConfig, type DefenderMetadata, type DefenderSettings, type DeltaTokenIncrementalConfig, type DocumentationReference, type Effect, Effects, type EnumOneOf, type EventRouter, type EventRouterRule, type EventToEmit, type ExecutionMode, ExecutionModes, type ExpressionContextOptions, FORMAT_PATTERNS, type FieldConfig, type FlowType, type ForeachStep, type Guide, type GuideImage, type GuideSection, type GuideStep, INPUT_ENUM_REGISTRY, type IncrementalConfig, type Input, type InputFormat, InputFormats, type InputLocation, InputLocations, type InputRules, type InputType, InputTypes, type InputVariant, type IntermediateStepSnapshot, type IteratorLocation, MCP_REQUEST_INPUT_PARAMS, MCP_REQUEST_OUTPUT, type MatchedEventAction, type OffsetPaginationConfig, type OnConditionError, type PagePaginationConfig, type PaginationConfig, type ReleaseStage, ReleaseStages, type Schema, type SchemaField, type SchemaType, SchemaTypes, type ScopeDefinition, type Settings, type SimpleStep, type Source, SourceType, type Step, type StepFunction, type StepFunctionMeta, StepFunctionName, type StepFunctionOutput, type StepFunctionParams, StepFunctionsFactory, stepFunctions as StepFunctionsRegistry, type StepsSnapshots, type StreamOutputData, StreamType, type SupportConfig, type SyncParams, type SyncedAction, type TestActionConfig, type TimeFilterIncrementalConfig, TransportType, type WebhookSetup, type WebhookSetupPhase, type WebhookSetupPhaseKind, areCursorsEqual, buildExpressionContext, computeDataSyncFingerprint, decodeCompositeId, encodeCompositeId, evaluateEventRouter, evaluateExternalAccountIdExtractor, expandCursor, getCategoryDetails, getInputEnumValues, getIteratorLocation, getPaginationKeys, isCompositeId, isCoreError, isCursorEmpty, isForeachStep, isValidCategory, isValidEnumRef, minifyCursor, stripIncrementalParams, stripPaginationParams, updateCursor };
|
package/dist/index.d.mts
CHANGED
|
@@ -1856,9 +1856,9 @@ declare const stepFunctions: {
|
|
|
1856
1856
|
url: ZodString;
|
|
1857
1857
|
method: ZodEnum<{
|
|
1858
1858
|
get: "get";
|
|
1859
|
+
delete: "delete";
|
|
1859
1860
|
post: "post";
|
|
1860
1861
|
put: "put";
|
|
1861
|
-
delete: "delete";
|
|
1862
1862
|
patch: "patch";
|
|
1863
1863
|
}>;
|
|
1864
1864
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -1957,8 +1957,8 @@ declare const stepFunctions: {
|
|
|
1957
1957
|
name: ZodString;
|
|
1958
1958
|
value: ZodUnknown;
|
|
1959
1959
|
in: ZodEnum<{
|
|
1960
|
-
query: "query";
|
|
1961
1960
|
body: "body";
|
|
1961
|
+
query: "query";
|
|
1962
1962
|
headers: "headers";
|
|
1963
1963
|
}>;
|
|
1964
1964
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -2000,9 +2000,9 @@ declare const stepFunctions: {
|
|
|
2000
2000
|
url: ZodString;
|
|
2001
2001
|
method: ZodEnum<{
|
|
2002
2002
|
get: "get";
|
|
2003
|
+
delete: "delete";
|
|
2003
2004
|
post: "post";
|
|
2004
2005
|
put: "put";
|
|
2005
|
-
delete: "delete";
|
|
2006
2006
|
patch: "patch";
|
|
2007
2007
|
}>;
|
|
2008
2008
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2085,15 +2085,15 @@ declare const stepFunctions: {
|
|
|
2085
2085
|
dataKey: ZodOptional<ZodString>;
|
|
2086
2086
|
nextKey: ZodOptional<ZodString>;
|
|
2087
2087
|
nextKeyIn: ZodOptional<ZodEnum<{
|
|
2088
|
-
data: "data";
|
|
2089
2088
|
headers: "headers";
|
|
2089
|
+
data: "data";
|
|
2090
2090
|
}>>;
|
|
2091
2091
|
}, $strict>>;
|
|
2092
2092
|
iterator: ZodObject<{
|
|
2093
2093
|
key: ZodString;
|
|
2094
2094
|
in: ZodEnum<{
|
|
2095
|
-
query: "query";
|
|
2096
2095
|
body: "body";
|
|
2096
|
+
query: "query";
|
|
2097
2097
|
}>;
|
|
2098
2098
|
condition: ZodOptional<ZodString>;
|
|
2099
2099
|
mode: ZodOptional<ZodEnum<{
|
|
@@ -2120,8 +2120,8 @@ declare const stepFunctions: {
|
|
|
2120
2120
|
name: ZodString;
|
|
2121
2121
|
value: ZodUnknown;
|
|
2122
2122
|
in: ZodEnum<{
|
|
2123
|
-
query: "query";
|
|
2124
2123
|
body: "body";
|
|
2124
|
+
query: "query";
|
|
2125
2125
|
headers: "headers";
|
|
2126
2126
|
}>;
|
|
2127
2127
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -2152,9 +2152,9 @@ declare const stepFunctions: {
|
|
|
2152
2152
|
url: ZodString;
|
|
2153
2153
|
method: ZodEnum<{
|
|
2154
2154
|
get: "get";
|
|
2155
|
+
delete: "delete";
|
|
2155
2156
|
post: "post";
|
|
2156
2157
|
put: "put";
|
|
2157
|
-
delete: "delete";
|
|
2158
2158
|
patch: "patch";
|
|
2159
2159
|
}>;
|
|
2160
2160
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2244,8 +2244,8 @@ declare const stepFunctions: {
|
|
|
2244
2244
|
name: ZodString;
|
|
2245
2245
|
value: ZodUnknown;
|
|
2246
2246
|
in: ZodEnum<{
|
|
2247
|
-
query: "query";
|
|
2248
2247
|
body: "body";
|
|
2248
|
+
query: "query";
|
|
2249
2249
|
headers: "headers";
|
|
2250
2250
|
}>;
|
|
2251
2251
|
condition: ZodOptional<ZodString>;
|
|
@@ -2273,9 +2273,9 @@ declare const stepFunctions: {
|
|
|
2273
2273
|
url: ZodString;
|
|
2274
2274
|
method: ZodEnum<{
|
|
2275
2275
|
get: "get";
|
|
2276
|
+
delete: "delete";
|
|
2276
2277
|
post: "post";
|
|
2277
2278
|
put: "put";
|
|
2278
|
-
delete: "delete";
|
|
2279
2279
|
patch: "patch";
|
|
2280
2280
|
}>;
|
|
2281
2281
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2308,15 +2308,15 @@ declare const stepFunctions: {
|
|
|
2308
2308
|
dataKey: ZodOptional<ZodString>;
|
|
2309
2309
|
nextKey: ZodOptional<ZodString>;
|
|
2310
2310
|
nextKeyIn: ZodOptional<ZodEnum<{
|
|
2311
|
-
data: "data";
|
|
2312
2311
|
headers: "headers";
|
|
2312
|
+
data: "data";
|
|
2313
2313
|
}>>;
|
|
2314
2314
|
}, $strict>>;
|
|
2315
2315
|
iterator: ZodObject<{
|
|
2316
2316
|
key: ZodString;
|
|
2317
2317
|
in: ZodEnum<{
|
|
2318
|
-
query: "query";
|
|
2319
2318
|
body: "body";
|
|
2319
|
+
query: "query";
|
|
2320
2320
|
}>;
|
|
2321
2321
|
}, $strict>;
|
|
2322
2322
|
cursor: ZodOptional<ZodObject<{
|
|
@@ -2334,8 +2334,8 @@ declare const stepFunctions: {
|
|
|
2334
2334
|
name: ZodString;
|
|
2335
2335
|
value: ZodUnknown;
|
|
2336
2336
|
in: ZodEnum<{
|
|
2337
|
-
query: "query";
|
|
2338
2337
|
body: "body";
|
|
2338
|
+
query: "query";
|
|
2339
2339
|
headers: "headers";
|
|
2340
2340
|
}>;
|
|
2341
2341
|
condition: ZodOptional<ZodString>;
|
|
@@ -2376,9 +2376,9 @@ declare const stepFunctions: {
|
|
|
2376
2376
|
url: ZodString;
|
|
2377
2377
|
method: ZodDefault<ZodEnum<{
|
|
2378
2378
|
get: "get";
|
|
2379
|
+
delete: "delete";
|
|
2379
2380
|
post: "post";
|
|
2380
2381
|
put: "put";
|
|
2381
|
-
delete: "delete";
|
|
2382
2382
|
patch: "patch";
|
|
2383
2383
|
}>>;
|
|
2384
2384
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2471,8 +2471,8 @@ declare const stepFunctions: {
|
|
|
2471
2471
|
name: ZodString;
|
|
2472
2472
|
value: ZodUnknown;
|
|
2473
2473
|
in: ZodEnum<{
|
|
2474
|
-
query: "query";
|
|
2475
2474
|
body: "body";
|
|
2475
|
+
query: "query";
|
|
2476
2476
|
headers: "headers";
|
|
2477
2477
|
}>;
|
|
2478
2478
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -2501,9 +2501,9 @@ declare const stepFunctions: {
|
|
|
2501
2501
|
url: ZodString;
|
|
2502
2502
|
method: ZodDefault<ZodEnum<{
|
|
2503
2503
|
get: "get";
|
|
2504
|
+
delete: "delete";
|
|
2504
2505
|
post: "post";
|
|
2505
2506
|
put: "put";
|
|
2506
|
-
delete: "delete";
|
|
2507
2507
|
patch: "patch";
|
|
2508
2508
|
}>>;
|
|
2509
2509
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2588,8 +2588,8 @@ declare const stepFunctions: {
|
|
|
2588
2588
|
name: ZodString;
|
|
2589
2589
|
value: ZodUnknown;
|
|
2590
2590
|
in: ZodEnum<{
|
|
2591
|
-
query: "query";
|
|
2592
2591
|
body: "body";
|
|
2592
|
+
query: "query";
|
|
2593
2593
|
headers: "headers";
|
|
2594
2594
|
}>;
|
|
2595
2595
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -2618,9 +2618,9 @@ declare const stepFunctions: {
|
|
|
2618
2618
|
url: ZodString;
|
|
2619
2619
|
method: ZodDefault<ZodOptional<ZodEnum<{
|
|
2620
2620
|
get: "get";
|
|
2621
|
+
delete: "delete";
|
|
2621
2622
|
post: "post";
|
|
2622
2623
|
put: "put";
|
|
2623
|
-
delete: "delete";
|
|
2624
2624
|
patch: "patch";
|
|
2625
2625
|
}>>>;
|
|
2626
2626
|
authorization: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{
|
|
@@ -2724,8 +2724,8 @@ declare const stepFunctions: {
|
|
|
2724
2724
|
name: ZodString;
|
|
2725
2725
|
value: ZodUnknown;
|
|
2726
2726
|
in: ZodEnum<{
|
|
2727
|
-
query: "query";
|
|
2728
2727
|
body: "body";
|
|
2728
|
+
query: "query";
|
|
2729
2729
|
headers: "headers";
|
|
2730
2730
|
}>;
|
|
2731
2731
|
spread: ZodOptional<ZodBoolean>;
|
|
@@ -3137,8 +3137,10 @@ type ConnectorMcpConfig = {
|
|
|
3137
3137
|
type Assets = {
|
|
3138
3138
|
icon: string;
|
|
3139
3139
|
};
|
|
3140
|
-
|
|
3141
|
-
type
|
|
3140
|
+
declare const ActionTypes: readonly ["list", "get", "create", "update", "delete", "custom", "refresh_token", "test", "event", "unknown"];
|
|
3141
|
+
type ActionType = (typeof ActionTypes)[number];
|
|
3142
|
+
declare const Effects: readonly ["read", "write", "delete", "search", "execute"];
|
|
3143
|
+
type Effect = (typeof Effects)[number];
|
|
3142
3144
|
type ActionAnnotations = {
|
|
3143
3145
|
title?: string;
|
|
3144
3146
|
readOnlyHint?: boolean;
|
|
@@ -3146,13 +3148,17 @@ type ActionAnnotations = {
|
|
|
3146
3148
|
idempotentHint?: boolean;
|
|
3147
3149
|
openWorldHint?: boolean;
|
|
3148
3150
|
};
|
|
3149
|
-
|
|
3151
|
+
declare const SchemaTypes: readonly ["native", "unified"];
|
|
3152
|
+
type SchemaType = (typeof SchemaTypes)[number];
|
|
3153
|
+
declare const InputLocations: readonly ["body", "query", "path", "headers"];
|
|
3154
|
+
type InputLocation = (typeof InputLocations)[number];
|
|
3150
3155
|
type EnumOneOf = {
|
|
3151
3156
|
values: string[];
|
|
3152
3157
|
} | {
|
|
3153
3158
|
ref: string;
|
|
3154
3159
|
};
|
|
3155
|
-
|
|
3160
|
+
declare const InputFormats: readonly ["email", "url", "uuid", "date", "datetime", "uri"];
|
|
3161
|
+
type InputFormat = (typeof InputFormats)[number];
|
|
3156
3162
|
type InputRules = {
|
|
3157
3163
|
minLength?: number;
|
|
3158
3164
|
maxLength?: number;
|
|
@@ -3162,7 +3168,8 @@ type InputRules = {
|
|
|
3162
3168
|
max?: number;
|
|
3163
3169
|
errorMessage?: string;
|
|
3164
3170
|
};
|
|
3165
|
-
|
|
3171
|
+
declare const InputTypes: readonly ["string", "number", "boolean", "datetime_string", "object", "enum"];
|
|
3172
|
+
type InputType = (typeof InputTypes)[number];
|
|
3166
3173
|
type Input = {
|
|
3167
3174
|
name: string;
|
|
3168
3175
|
type?: InputType;
|
|
@@ -3220,7 +3227,7 @@ type Action = {
|
|
|
3220
3227
|
details?: string;
|
|
3221
3228
|
examples?: ActionExample[];
|
|
3222
3229
|
schema?: Schema;
|
|
3223
|
-
schemaType:
|
|
3230
|
+
schemaType: SchemaType;
|
|
3224
3231
|
endpoint?: string;
|
|
3225
3232
|
resources?: string;
|
|
3226
3233
|
actionType: ActionType;
|
|
@@ -3975,4 +3982,4 @@ type Account = {
|
|
|
3975
3982
|
originOwnerName?: string;
|
|
3976
3983
|
};
|
|
3977
3984
|
//#endregion
|
|
3978
|
-
export { AUTHORIZATION_SCHEMA, type Account, type Action, type ActionAnnotations, type ActionExample, type ActionResponse, type ActionType, type ActionValidationRule, type Assets, AuthType, type Authentication, type AuthenticationConfig, type AuthenticationField, type AuthenticationFieldValidation, type AuthenticationGuides, type AuthenticationNotice, BROWSER_USE_INPUT_PARAMS, BROWSER_USE_OUTPUT, type BaseIncrementalConfig, type BasePaginationConfig, type Block, type BlockContext, type BlockIndexedRecord, COMPOSITE_ID_LATEST_VERSION, type Category, type Changelog, type ChangelogLabel, ChangelogLabels, type Checkpoint, type CompositeIdentifier, type CompositeIdentifierConfig, type CompositeIdentifierConnectorConfig, type Connector, type ConnectorDocumentation, type ConnectorEvents, CoreError, type Cursor, type CursorPaginationConfig, type DataSyncConfig, type DefenderMetadata, type DefenderSettings, type DeltaTokenIncrementalConfig, type DocumentationReference, type Effect, type EnumOneOf, type EventRouter, type EventRouterRule, type EventToEmit, type ExecutionMode, ExecutionModes, type ExpressionContextOptions, FORMAT_PATTERNS, type FieldConfig, type FlowType, type ForeachStep, type Guide, type GuideImage, type GuideSection, type GuideStep, INPUT_ENUM_REGISTRY, type IncrementalConfig, type Input, type InputFormat, type InputLocation, type InputRules, type InputType, type InputVariant, type IntermediateStepSnapshot, type IteratorLocation, MCP_REQUEST_INPUT_PARAMS, MCP_REQUEST_OUTPUT, type MatchedEventAction, type OffsetPaginationConfig, type OnConditionError, type PagePaginationConfig, type PaginationConfig, type ReleaseStage, ReleaseStages, type Schema, type SchemaField, type ScopeDefinition, type Settings, type SimpleStep, type Source, SourceType, type Step, type StepFunction, type StepFunctionMeta, StepFunctionName, type StepFunctionOutput, type StepFunctionParams, StepFunctionsFactory, stepFunctions as StepFunctionsRegistry, type StepsSnapshots, type StreamOutputData, StreamType, type SupportConfig, type SyncParams, type SyncedAction, type TestActionConfig, type TimeFilterIncrementalConfig, TransportType, type WebhookSetup, type WebhookSetupPhase, type WebhookSetupPhaseKind, areCursorsEqual, buildExpressionContext, computeDataSyncFingerprint, decodeCompositeId, encodeCompositeId, evaluateEventRouter, evaluateExternalAccountIdExtractor, expandCursor, getCategoryDetails, getInputEnumValues, getIteratorLocation, getPaginationKeys, isCompositeId, isCoreError, isCursorEmpty, isForeachStep, isValidCategory, isValidEnumRef, minifyCursor, stripIncrementalParams, stripPaginationParams, updateCursor };
|
|
3985
|
+
export { AUTHORIZATION_SCHEMA, type Account, type Action, type ActionAnnotations, type ActionExample, type ActionResponse, type ActionType, ActionTypes, type ActionValidationRule, type Assets, AuthType, type Authentication, type AuthenticationConfig, type AuthenticationField, type AuthenticationFieldValidation, type AuthenticationGuides, type AuthenticationNotice, BROWSER_USE_INPUT_PARAMS, BROWSER_USE_OUTPUT, type BaseIncrementalConfig, type BasePaginationConfig, type Block, type BlockContext, type BlockIndexedRecord, COMPOSITE_ID_LATEST_VERSION, type Category, type Changelog, type ChangelogLabel, ChangelogLabels, type Checkpoint, type CompositeIdentifier, type CompositeIdentifierConfig, type CompositeIdentifierConnectorConfig, type Connector, type ConnectorDocumentation, type ConnectorEvents, CoreError, type Cursor, type CursorPaginationConfig, type DataSyncConfig, type DefenderMetadata, type DefenderSettings, type DeltaTokenIncrementalConfig, type DocumentationReference, type Effect, Effects, type EnumOneOf, type EventRouter, type EventRouterRule, type EventToEmit, type ExecutionMode, ExecutionModes, type ExpressionContextOptions, FORMAT_PATTERNS, type FieldConfig, type FlowType, type ForeachStep, type Guide, type GuideImage, type GuideSection, type GuideStep, INPUT_ENUM_REGISTRY, type IncrementalConfig, type Input, type InputFormat, InputFormats, type InputLocation, InputLocations, type InputRules, type InputType, InputTypes, type InputVariant, type IntermediateStepSnapshot, type IteratorLocation, MCP_REQUEST_INPUT_PARAMS, MCP_REQUEST_OUTPUT, type MatchedEventAction, type OffsetPaginationConfig, type OnConditionError, type PagePaginationConfig, type PaginationConfig, type ReleaseStage, ReleaseStages, type Schema, type SchemaField, type SchemaType, SchemaTypes, type ScopeDefinition, type Settings, type SimpleStep, type Source, SourceType, type Step, type StepFunction, type StepFunctionMeta, StepFunctionName, type StepFunctionOutput, type StepFunctionParams, StepFunctionsFactory, stepFunctions as StepFunctionsRegistry, type StepsSnapshots, type StreamOutputData, StreamType, type SupportConfig, type SyncParams, type SyncedAction, type TestActionConfig, type TimeFilterIncrementalConfig, TransportType, type WebhookSetup, type WebhookSetupPhase, type WebhookSetupPhaseKind, areCursorsEqual, buildExpressionContext, computeDataSyncFingerprint, decodeCompositeId, encodeCompositeId, evaluateEventRouter, evaluateExternalAccountIdExtractor, expandCursor, getCategoryDetails, getInputEnumValues, getIteratorLocation, getPaginationKeys, isCompositeId, isCoreError, isCursorEmpty, isForeachStep, isValidCategory, isValidEnumRef, minifyCursor, stripIncrementalParams, stripPaginationParams, updateCursor };
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{t as e}from"./chunk-BhWHdk3m.mjs";import{decodeFromBase64 as t,encodeToBase64 as n,getContentHash as r,getCountryAlpha2CodeByAlpha2Code as i,getCountryAlpha2CodeByAlpha3Code as a,getCountryAlpha2CodeByCitizenship as o,getCountryAlpha2CodeByCountryCode as s,getCountryAlpha2CodeByCountryName as c,getCountryAlpha3CodeByAlpha2Code as l,getCountryAlpha3CodeByAlpha3Code as u,getCountryAlpha3CodeByCountryCode as d,getCountryAlpha3CodeByCountryName as f,getCountryCodeByAlpha2Code as p,getCountryCodeByAlpha3Code as m,getCountryCodeByCountryCode as h,getCountryCodeByCountryName as g,getCountryNameByAlpha2Code as _,getCountryNameByAlpha3Code as v,getCountryNameByCountryCode as y,getCountryNameByCountryName as b,getCountrySubDivisionCodeBySubDivisionName as x,getCountrySubDivisionNameBySubDivisionCode as S,getCountrySubDivisionsByAlpha2Code as C,getDocumentFileFormatFromExtension as w,isMissing as T,isObject as E,isString as D,notMissing as O,safeParseToBoolean as ee,safeParseToDateTimeString as k,safeParseToNumber as A,safeParseToString as te,z as j,zStrictObject as M}from"@stackone/utils";import{evaluate as N,isExpression as P,isValidExpression as F,safeEvaluate as I,safeEvaluateRecord as L}from"@stackone/expressions";import{CUSTOM_ERROR_CONFIG_SCHEMA as R,HttpMethods as z,HttpResponseError as B,McpClient as V,QueryArrayFormats as H,RequestClientFactory as ne,RequestParameterLocations as U,buildHttpsAgent as re,createAuthorizationHeaders as W,getSigningStrategy as G,isFailedStatusCode as K,parseRequestParameters as q,serializeHttpResponseError as J,translateCustomError as Y}from"@stackone/transport";import{InvokeCommand as X,LambdaClient as ie}from"@aws-sdk/client-lambda";import{Readable as ae}from"node:stream";import Z from"mime-types";import{Saml20 as oe}from"saml";import{v4 as se}from"uuid";import{REDACT_CENSOR as Q}from"@stackone/redaction";import{createHash as ce,createPrivateKey as le,createPublicKey as ue}from"node:crypto";import{SignJWT as de}from"jose";import fe from"form-data";const pe=[`context`,`inputs`,`steps`,`intermediateSteps`,`iterator`,`result`],buildExpressionContext=(e,t={})=>{let n=t.includeCredentials??e.context?.flowType===`refresh_authentication`,r=pe.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{});return n&&`credentials`in e&&(r.credentials=e.credentials),r},me={hris:{title:`HRIS`,key:`hris`,description:`Human Resource Information System`},crm:{title:`CRM`,key:`crm`,description:`Customer Relationship Management`},ats:{title:`ATS`,key:`ats`,description:`Applicant Tracking System`},lms:{title:`LMS`,key:`lms`,description:`Learning Management System`},marketing:{title:`Marketing`,key:`marketing`,description:`Marketing`},filestorage:{title:`File Storage`,key:`filestorage`,description:`File Storage`},iam:{title:`IAM`,key:`iam`,description:`Identity and Access Management`},internal:{title:`Internal`,key:`internal`,description:`Category for internal actions`},action:{title:`Action`,key:`action`,description:`Action`}},getCategoryDetails=e=>me[e.toLowerCase()]??null,isValidCategory=e=>!!me[e.toLowerCase()],he=n(`so1!`),ge=RegExp(`(?<!\\\\):`,`g`),_e=RegExp(`(?<!\\\\),`,`g`),ve=1;var ye=class CoreError extends Error{constructor({category:e,name:t,type:n,context:r,message:i}){super(i),this.name=t??`CoreError`,this.type=n,this.category=e,this.context=r,Error.captureStackTrace&&Error.captureStackTrace(this,CoreError)}toString(){let e=this.message?`: ${this.message}`:``;return`${this.category}-${this.name} [${this.type}]${e}`}},BaseCompositeIdError=class extends ye{constructor(e,t,n){super({category:`CompositeId`,name:t??`BaseCompositeIdError`,type:e,message:n})}},CompositeIdMissingHeaderError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_MISSING_HEADER_ERROR`,`CompositeIdMissingHeaderError`,e??`Invalid compositeId, missing header`)}},CompositeIdMissingBodyError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_MISSING_BODY_ERROR`,`CompositeIdMissingBodyError`,e??`Invalid compositeId, missing body`)}},CompositeIdUnknownIdentifierError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_UNKNOWN_IDENTIFIER_ERROR`,`CompositeIdUnknownIdentifierError`,e??`Invalid compositeId, unknown identifier`)}},CompositeIdUnsupportedVersionError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_UNSUPPORTED_VERSION_ERROR`,`CompositeIdUnsupportedVersionError`,e??`Invalid compositeId, unsupported version`)}};const isSingleIdentifier=e=>!T(e)&&`value`in e&&e.value!==void 0,isMultipleIdentifier=e=>!T(e)&&`identifiers`in e&&e.identifiers!==void 0,encodeCompositeId=(e,t={version:1})=>{if(t.version===1)return encodeIdV1(getComposedIdV1(e,t.aliases));throw new CompositeIdUnsupportedVersionError(`Cannot generate ID, unsupported version number: ${t.version}`)},decodeCompositeId=(e,t={version:1})=>{let n=decodeId(e,t),r={};return n&&n.split(_e).forEach(e=>{let[n,i]=e.split(ge),a=getOriginalKey(n,t.aliases??{});r[a]=unescapeValue(i)}),r},getComposedIdV1=(e,t={})=>{if(isSingleIdentifier(e))return getSingleIdentifierString({identifier:e,compositeIdAliases:t,isSoleIdentifier:!0});if(isMultipleIdentifier(e))return e.identifiers.map(e=>getSingleIdentifierString({identifier:e,compositeIdAliases:t,isSoleIdentifier:!1})).join(`,`);throw new CompositeIdUnknownIdentifierError},getSingleIdentifierString=({identifier:e,compositeIdAliases:t,isSoleIdentifier:n})=>[n?`id`:t[e.key]||e.key,escapeValue(e.value)].filter(Boolean).join(`:`),getOriginalKey=(e,t)=>Object.keys(t).find(n=>t[n]===e)??e,decodeId=(e,t)=>{if(t.version===1)return decodeIdV1(e);throw new CompositeIdUnsupportedVersionError(`Cannot decode ID, unsupported version number: ${t.version}`)},encodeIdV1=e=>`${he}${n(e)}`,decodeIdV1=e=>{if(!e.startsWith(he))throw new CompositeIdMissingHeaderError(`Trying to decode an ID without the header: ${e}`);let n=e.split(he)[1];if(!n)throw new CompositeIdMissingBodyError(`Trying to decode an ID without a body: ${e}`);return t(n)},escapeValue=e=>[`,`,`:`].reduce((e,t)=>e.replace(t,`\\`+t),e),unescapeValue=e=>[`,`,`:`].reduce((e,t)=>{let n=`\\`+t;return e.replace(RegExp(`\\\\`+n,`g`),t)},e),isCompositeId=e=>T(e)?!1:e.startsWith(he),computeDataSyncFingerprint=e=>{let{incremental:t}=e;return r({indexField:Array.isArray(e.indexField)?e.indexField:[e.indexField],incremental:t?{type:t.type,iteratorKey:t.iterator.key,iteratorIn:t.iterator.in,format:`format`in t?t.format:null}:null})},evaluateExternalAccountIdExtractor=(e,t)=>{let n=e.events?.externalAccountIdExtractor;if(T(n)||typeof n.result!=`string`||n.result.trim().length===0)return;let r=I(`{{${n.result.trim()}}}`,t);if(!T(r)){if(typeof r==`string`){let e=r.trim();return e.length>0?e:void 0}if(typeof r==`number`||typeof r==`bigint`||typeof r==`boolean`)return String(r)}},evaluateEventRouter=(e,t)=>{let n=e.events?.router;if(!T(n))for(let e of n.rules){let n=I(`{{${e.when.trim()}}}`,t);if(n!==null&&n!==!1&&n!==void 0){let n=e.then.input?Object.fromEntries(Object.entries(e.then.input).map(([e,n])=>[e,I(`{{${String(n).trim()}}}`,t)])):void 0;return{action:e.then.action,input:n}}}},be={email:/^[^\s@]+@(?=[^\s@]+\.[^\s@])[^\s@]+$/,url:/^https?:\/\/[^\s/?#]+(?:[/?#]\S*)?$/,uri:/^[a-zA-Z][a-zA-Z0-9+.-]*:\S+$/,uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,date:/^\d{4}-\d{2}-\d{2}$/,datetime:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}(?::?\d{2})?)?$/},xe={employment_status:[`active`,`inactive`,`terminated`,`pending`,`leave`],employment_type:[`full_time`,`part_time`,`contractor`,`intern`,`temporary`],gender:[`male`,`female`,`non_binary`,`other`,`prefer_not_to_say`],marital_status:[`single`,`married`,`divorced`,`widowed`,`domestic_partnership`]},getInputEnumValues=e=>xe[e],isValidEnumRef=e=>e in xe,Se=[`preview`,`beta`,`ga`,`deprecated`,`internal`],Ce=[`auth`,`downstream-change`,`bug-fix`,`new-actions`],we=[`sync`,`async`],Te=M({r:j.record(j.string(),M({n:j.number().optional().nullable(),c:j.string().optional().nullable(),p:j.number().optional().nullable()})),v:j.number(),t:j.number()}),Ee=M({remote:j.record(j.string(),M({pageNumber:j.number().optional(),providerPageCursor:j.string().optional(),position:j.number().optional()})),version:j.number(),timestamp:j.number()}),minifyCursor=e=>n(JSON.stringify(minifyCursorObject(e))),minifyCursorObject=e=>{let{remote:t,version:n,timestamp:r}=e;return{r:Object.fromEntries(Object.entries(t).map(([e,{pageNumber:t,providerPageCursor:n,position:r}])=>[e,{n:t,c:n,p:r}])),v:n,t:r}},expandCursor=e=>{try{if(D(e)){let n=t(e),r=JSON.parse(n);return expandCursorObject(Te.parse(r))}else return Ee.parse(e),e}catch{return null}},expandCursorObject=e=>{let{r:t,v:n,t:r}=e;return{remote:Object.fromEntries(Object.entries(t).map(([e,{n:t,c:n,p:r}])=>[e,{pageNumber:t,providerPageCursor:n,position:r}])),version:n,timestamp:r}},areCursorsEqual=(e,t)=>{let n=typeof e==`string`?expandCursor(e):e,i=typeof t==`string`?expandCursor(t):t;if(n===null||i===null)return n===i;let{timestamp:a,...o}=n,{timestamp:s,...c}=i;return r(o)===r(c)},isCursorEmpty=({cursor:e,ignoreStepIndex:t})=>T(e)?!0:Object.keys(e?.remote??{}).reduce((n,r)=>{let i=e?.remote?.[r];return(T(t)||r!==t.toString())&&(n=n&&T(i.pageNumber)&&T(i.position)&&T(i.providerPageCursor)),n},!0),updateCursor=({cursor:e,stepIndex:t,pageNumber:n,providerPageCursor:r,position:i})=>{let a={pageNumber:n??void 0,providerPageCursor:r??void 0,position:i??void 0},o=T(n)&&T(r)&&T(i);return T(e)?{remote:o?{}:{[t]:a},version:2,timestamp:Date.now()}:o?(delete e.remote[t],e):{...e,remote:{...e.remote,[t]:a}}},isCoreError=e=>e instanceof ye;function stripPaginationParams(e,t){let n=getPaginationKeys(t);if(n.length===0)return e;let r=getIteratorLocation(t);if(!r)return e;let i=e[r];if(!i||typeof i!=`object`)return e;let a={...i};for(let e of n)delete a[e];return{...e,[r]:a}}function getPaginationKeys(e){switch(e.type){case`cursor`:return[e.iterator.key];case`offset`:{let t=e;return[t.iterator.offsetKey,t.iterator.limitKey]}case`page`:{let t=e,n=[t.iterator.pageKey];return t.iterator.pageSizeKey&&n.push(t.iterator.pageSizeKey),n}default:return[]}}function getIteratorLocation(e){if(`iterator`in e&&typeof e.iterator==`object`&&e.iterator!==null)return e.iterator.in}function stripIncrementalParams(e,t){if(!t)return e;let{key:n,in:r}=t.iterator,i=e[r];if(!i||typeof i!=`object`)return e;let a={...i};return delete a[n],{...e,[r]:a}}const De={RequestTester:`REQUEST_TESTER`,ActionTester:`ACTION_TESTER`,Discode:`DISCODE`,Dashboard:`DASHBOARD`,Playground:`PLAYGROUND`,SDK:`SDK`,API:`API`,Scheduler:`SCHEDULER`,Webhook:`WEBHOOK`,Agent:`AGENT`,MCP:`MCP`,Application:`APPLICATION`,DataSync:`DATA_SYNC`,DataSyncV2:`DATA_SYNC_V2`,Internal:`INTERNAL`,ConnectionTest:`CONNECTION_TEST`},Oe={HTTP:`HTTP`,MCP:`MCP`,ActionRPC:`ACTION_RPC`,WebSocket:`WEBSOCKET`},ke={HTTP:`HTTP`,WebSocket:`WEBSOCKET`,SSE:`SSE`},Ae={APIKey:`API_KEY`,SessionToken:`SESSION_TOKEN`,UserSession:`USER_SESSION`,Cookie:`COOKIE`,Webhook:`WEBHOOK`,Signature:`SIGNATURE`},browserUseStepFunction=async()=>{throw Error(`browser_use step function cannot be executed synchronously — actions using this step must have executionMode: "async" so they are dispatched to the Temporal workflow runtime`)},je=j.object({startUrl:j.string().url(),systemPrompt:j.string().optional(),viewport:M({width:j.number().int().positive(),height:j.number().int().positive()}).optional(),locale:j.string().optional(),budgets:M({maxDurationMs:j.number().int().positive(),maxSteps:j.number().int().positive()}),auth:M({sensitiveKeys:j.array(j.string().min(1)).optional(),requiresSession:j.boolean().optional(),allowedDomains:j.array(j.string().min(1)).optional()}).optional()}),Me=j.unknown(),sanitizeRaw=e=>{let t={};return e.status!=null&&(t.status=e.status),e.data!==void 0&&(t.data=e.data),e.headers!=null&&(t.headers=e.headers),e.requestUrl!=null&&(t.requestUrl=e.requestUrl),e.message!=null&&(t.message=e.message),t},isSerializedBuffer=e=>typeof e==`object`&&!!e&&e.type===`Buffer`&&Array.isArray(e.data),decodeBinaryBody=e=>{let t;if(Buffer.isBuffer(e)?t=e.toString(`utf8`):e instanceof ArrayBuffer?t=new TextDecoder().decode(new Uint8Array(e)):ArrayBuffer.isView(e)?t=new TextDecoder().decode(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):isSerializedBuffer(e)&&(t=Buffer.from(e.data).toString(`utf8`)),t===void 0)return e;try{return JSON.parse(t)}catch{return t}},decodeResponseBody=e=>({...e,data:decodeBinaryBody(e.data)}),isHttpLikeError=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`,extractTopLevelMessage=e=>{if(typeof e.message==`string`&&e.message.trim().length>0)return e.message},extractNestedErrorMessage=e=>{if(e.error!=null&&typeof e.error==`object`&&!Array.isArray(e.error)&&typeof e.error.message==`string`)return e.error.message;if(typeof e.error==`string`&&e.error.length>0)return e.error;if(typeof e.error_description==`string`&&e.error_description.length>0)return e.error_description},extractErrorMessage=(e,t)=>{let n=e.data;if(typeof n==`object`&&n&&!Array.isArray(n)){let e=extractTopLevelMessage(n);if(e!=null)return e}if(typeof e.message==`string`&&e.message.length>0)return e.message;if(typeof n==`object`&&n&&!Array.isArray(n)){let e=extractNestedErrorMessage(n);if(e!=null)return e}if(Array.isArray(n)&&n.length>0){let e=n[0];if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e,n=extractTopLevelMessage(t)??extractNestedErrorMessage(t);if(n!=null)return n}}return typeof n==`string`&&n.length>0?n:t},buildStepErrorOutput=(e,t)=>{if(e instanceof B){let n=e.message,r=decodeResponseBody(e.response);return{block:t,successful:!1,errors:[J(e)],output:{statusCode:r?.status??500,message:extractErrorMessage(r,n),data:r?.data,raw:sanitizeRaw(r)}}}if(isHttpLikeError(e)){let n=decodeResponseBody(e.response),r=e instanceof Error?e.message:`HTTP error: ${n.status??500}`;return{block:t,successful:!1,errors:[J(e)],output:{statusCode:n.status??500,message:extractErrorMessage(n,r),data:n.data,raw:sanitizeRaw(n)}}}return e instanceof Error?{block:t,successful:!1,errors:[J(e)],output:{statusCode:500,message:e.message}}:{block:t,successful:!1,errors:[J(e)],output:{statusCode:500,message:String(e)}}},isAwsCredentials=e=>!!e&&typeof e.accessKeyId==`string`&&typeof e.secretAccessKey==`string`,buildLambdaClientConfig=({region:e,endpoint:t,credentials:n})=>({region:e,...t?{endpoint:t}:{},...isAwsCredentials(n)?{credentials:{accessKeyId:n.accessKeyId,secretAccessKey:n.secretAccessKey,sessionToken:typeof n.sessionToken==`string`?n.sessionToken:void 0}}:t?{credentials:{accessKeyId:`local`,secretAccessKey:`local`}}:{}}),defaultClientFactory=e=>new ie(e),invokeLambda=async({lambdaName:e,payload:t,region:n,endpoint:r,invocationType:i=`RequestResponse`,qualifier:a,credentials:o,clientFactory:s=defaultClientFactory})=>{let c=s(buildLambdaClientConfig({region:n,endpoint:r,credentials:o})),l=new X({FunctionName:e,InvocationType:i,Qualifier:a,Payload:t?Buffer.from(JSON.stringify(t)):void 0}),u=await c.send(l),d=u.Payload?Buffer.from(u.Payload).toString(`utf-8`):``,f;if(d.length===0)f=void 0;else try{f=JSON.parse(d)}catch{f=d}return{statusCode:u.StatusCode??200,payload:f,functionError:u.FunctionError,executedVersion:u.ExecutedVersion}},Ne=M({lambdaName:j.string(),region:j.string().optional(),endpoint:j.string().optional(),invocationType:j.enum([`RequestResponse`,`Event`,`DryRun`]).optional(),qualifier:j.string().optional(),args:M({name:j.string(),value:j.unknown(),condition:j.string().optional()}).array().optional().describe(`Key/value pairs combined into the JSON payload sent to the Lambda function`),dataKey:j.string().optional()}),Pe=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional(),executedVersion:j.string().optional()}).optional(),Fe=/\${[^}]+}/,isJsonPathLike=e=>{let t=e.trimStart();return t.startsWith(`$.`)||t.startsWith(`$[`)},hasExpressionMarker=e=>P(e)||Fe.test(e)||isJsonPathLike(e),buildDataKeyExpression=e=>P(e)||e.trimStart().startsWith(`$`)?e:`$.${e}`,Ie=e((e,t)=>{if(T(e)||typeof e!=`object`||!e)return e;try{let n=N(buildDataKeyExpression(t),e);if(n!==void 0)return n}catch{}return e[t]},`resolveDataKey`),buildPayloadFromArgs=e=>{if(!(!e||e.length===0))return e.reduce((e,t)=>(e[t.name]=t.value,e),{})},codeExecutionLambdaStepFunction=async({block:e,params:t},n=invokeLambda)=>{let r=t?.args,i=Array.isArray(r)?r:void 0,isPlainObject=e=>typeof e==`object`&&!!e,a=i?i.filter(t=>{if(!isPlainObject(t))return!0;let n=t.condition;return typeof n!=`string`||I(n,e)===!0}).map(e=>isPlainObject(e)?{...e,condition:void 0}:e):void 0,o=t?.dataKey,s=typeof o==`string`&&!Fe.test(o),c=t?.qualifier,l=typeof c==`string`&&!hasExpressionMarker(c),u={...t?L(i===void 0?t:{...t,args:a},e):{},...s?{dataKey:o}:{},...l?{qualifier:c}:{}},d;try{d=Ne.parse(u)}catch(t){return buildStepErrorOutput(t,e)}let{lambdaName:f,region:p,endpoint:m,invocationType:h,qualifier:g,args:_,dataKey:v}=d,y;try{y=await n({lambdaName:f,payload:buildPayloadFromArgs(_),region:p,endpoint:m,invocationType:h,qualifier:g,credentials:e.credentials})}catch(t){return buildStepErrorOutput(t,e)}if(y.functionError){let t=typeof y.payload==`object`&&y.payload!==null&&`errorMessage`in y.payload&&typeof y.payload.errorMessage==`string`?y.payload.errorMessage:`Lambda function error: ${y.functionError}`;return{block:e,successful:!1,errors:[{message:t,kind:`lambda_function_error`,functionError:y.functionError}],output:{statusCode:y.statusCode,message:t,data:y.payload,raw:y}}}return{block:e,successful:!0,output:{data:v?Ie(y.payload,v):y.payload,raw:y,statusCode:y.statusCode,executedVersion:y.executedVersion}}},buildRequestContext=e=>({accountSecureId:e.context.accountSecureId,projectSecureId:e.context.projectSecureId,organizationId:e.context.organizationId,environment:e.context.environment,authConfigKey:e.context.authenticationType,provider:e.connector?.key,service:e.context.category,resource:e.connector?.key,action:e.action?.id}),Le=M({strategy:j.literal(`aws4`),service:j.string(),region:j.string().optional()}),Re=M({strategy:j.literal(`hmac`),algorithm:j.enum([`sha1`,`sha256`,`sha512`]).optional(),headerName:j.string().optional(),prefix:j.string().optional(),dateFormat:j.enum([`iso8601`,`rfc2822`]).optional(),includeHost:j.boolean().optional(),includeBodyHash:j.boolean().optional(),outputFormat:j.enum([`header`,`basic`]).optional(),username:j.string().optional()}),ze=j.discriminatedUnion(`strategy`,[Le,Re]),Be=M({type:j.literal(`none`),signing:ze.optional(),redirectUri:j.string().optional()}),Ve=M({type:j.literal(`basic`),username:j.string().optional(),password:j.string().optional(),encoding:j.string().optional(),redirectUri:j.string().optional()}),He=M({type:j.literal(`bearer`),token:j.string(),includeBearer:j.boolean().optional().default(!0),redirectUri:j.string().optional()}),Ue=new Set([`accessToken`,`refreshToken`,`idToken`,`clientId`,`clientSecret`,`authentication_config_key`,`environment`]),We=M({type:j.literal(`oauth2`),authorizationUrl:j.string().optional(),redirectUri:j.string().optional(),authorizationParams:j.record(j.string(),j.string()).optional(),tokenUrl:j.string().optional(),tokenParams:j.record(j.string(),j.string()).optional(),tokenExpiresIn:j.number().optional(),tokenRefreshExpiresIn:j.number().optional(),token:j.string(),includeBearer:j.boolean().optional().default(!0),scopes:j.string().optional(),scopeDelimiter:j.string().optional(),customHeaders:j.record(j.string(),j.string()).optional(),pkce:j.boolean().optional(),additionalTokenFields:j.record(j.string(),j.string().optional()).optional(),callbackParams:j.record(j.string(),j.string().min(1)).superRefine((e,t)=>{for(let[n,r]of Object.entries(e))Ue.has(r)&&t.addIssue({code:j.ZodIssueCode.custom,path:[n],message:`callbackParams must not target reserved credential key "${r}"`})}).optional(),issuer:j.string().optional(),tokenResponse:M({acceptTokenTypes:j.array(j.string()).optional(),accessToken:j.string().min(1).optional(),refreshToken:j.string().min(1).optional()}).optional()}),$=j.discriminatedUnion(`type`,[Be,Ve,He,We]),Ge=M({certs:j.string().array().optional(),keys:j.string().array().optional()}).optional(),Ke=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z).optional().default(`get`),authorization:$.optional(),responseMode:j.enum([`buffer`,`stream`]).optional().default(`buffer`),responseType:j.enum([`arraybuffer`,`blob`,`text`,`json`]).optional().default(`arraybuffer`),encoding:j.enum([`base64`,`utf8`,`binary`,`raw`,`none`]).optional().default(`base64`),response:M({dataKey:j.string().optional(),fileNameKey:j.string().optional(),contentTypeKey:j.string().optional(),contentType:j.string().optional(),contentIsBase64:j.boolean().optional().default(!1),urlKey:j.string().optional(),forwardAuth:j.boolean().optional().default(!1)}).optional(),maxRedirects:j.number().optional().default(5),followRedirects:j.boolean().optional().default(!0),customErrors:R.array().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}),qe=M({data:j.union([j.string(),j.instanceof(Buffer)]).optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional(),headers:j.record(j.string(),j.union([j.string(),j.array(j.string())])).optional(),contentDisposition:j.string().optional(),fileMetadata:M({contentType:j.string().optional(),contentLength:j.number().optional(),fileName:j.string().optional(),lastModified:j.string().optional(),etag:j.string().optional()}).optional(),finalUrl:j.string().optional()}).optional(),downloadFileStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n}=t,r=n?n.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,i=t?L({...t,args:r},e):{},a={...i,customErrors:t?.customErrors},{baseUrl:o,url:s,method:c,authorization:l,args:u,responseMode:d,responseType:f,encoding:p,response:m,maxRedirects:h,followRedirects:g}=Ke.parse(a),_=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,v=u?q(u):{query:{},body:{},headers:{}},y=typeof v?.body==`string`?void 0:v?.body,b=W(O(l)?l:$.parse(_)),x={...v?.headers??{},...b},S=e.connector?.rateLimit,C=e.connector?.concurrency,w=S!==void 0||C!==void 0?{rateLimits:S,concurrency:C}:void 0,T=buildRequestContext(e);if(d===`stream`)return performStreamDownload({block:e,httpClient:e.httpClient,baseUrl:o??``,url:s,method:c,headers:x,queryParams:v?.query,body:y,maxRedirects:g?h:0,requestConfig:w,context:T,response:m,responseType:f,authHeaders:b});try{return{block:e,successful:!0,output:await performDownload({httpClient:e.httpClient,baseUrl:o??``,url:s,method:c,headers:x,queryParams:v?.query,body:y,responseType:f,encoding:p,response:m,maxRedirects:g?h:0,requestConfig:w,context:T,authHeaders:b})}}catch(t){return buildStepErrorOutput(t,e)}},performStreamDownload=async e=>{let{block:t,httpClient:n,baseUrl:r,url:i,method:a,headers:o,queryParams:s,body:c,maxRedirects:l,requestConfig:u,context:d,response:f,responseType:p,authHeaders:m}=e,h=`${r}${i}`;if(!h.startsWith(`http://`)&&!h.startsWith(`https://`))throw Error(`Invalid URL: "${h}". URL must be absolute (start with http:// or https://). Either provide a baseUrl or ensure url is a complete URL.`);if(O(f?.dataKey)||O(f?.urlKey))try{let e=await performDownload({httpClient:n,baseUrl:r,url:i,method:a,headers:o,queryParams:s,body:c,responseType:p??`arraybuffer`,encoding:`none`,response:f,maxRedirects:l,requestConfig:u,context:d,authHeaders:m??{}}),h=Buffer.isBuffer(e.data)?e.data:Buffer.from(e.data),g={...e.fileMetadata,contentLength:h.length};return{block:t,successful:!0,streamOutput:{stream:ae.from(h),headers:O(g.contentType)?{"content-type":g.contentType}:{},contentDisposition:e.contentDisposition,fileMetadata:g}}}catch(e){return buildStepErrorOutput(e,t)}if(!n.requestStream)throw Error(`HTTP client does not support streaming. Either implement requestStream method or use responseMode: "buffer".`);try{let e=await n.requestStream({url:h,method:a,headers:o,queryParams:s,payload:c,maxRedirects:l,requestConfig:u,context:d}),r=extractFileMetadata(e.headers),i=buildContentDisposition(r);return{block:t,successful:!0,streamOutput:{stream:e.stream,headers:e.headers,contentDisposition:i,fileMetadata:r}}}catch(e){return buildStepErrorOutput(e,t)}},performDownload=async e=>{let{httpClient:t,baseUrl:n,url:r,method:i,headers:a,queryParams:o,body:s,responseType:c,encoding:l,response:u,maxRedirects:d,requestConfig:f,context:p,authHeaders:m}=e,h=`${n}${r}`;if(!h.startsWith(`http://`)&&!h.startsWith(`https://`))throw Error(`Invalid URL: "${h}". URL must be absolute (start with http:// or https://). Either provide a baseUrl or ensure url is a complete URL.`);let g=u?.urlKey||u?.dataKey?`json`:c,_=await t.request({url:h,method:i,headers:a,queryParams:o,payload:s,responseType:g===`json`?void 0:g,maxRedirects:d,requestConfig:f,context:p});if(u?.urlKey||u?.dataKey)return handleJsonResponse({httpClient:t,result:_,response:u,encoding:l,maxRedirects:d,requestConfig:f,context:p,authHeaders:m});let v=encodeFileData(_.data,l),y=extractFileMetadata(_.headers),b=buildContentDisposition(y);return{data:v,raw:_,statusCode:_?.status,message:_?.message,headers:_.headers,contentDisposition:b,fileMetadata:y,finalUrl:_?.requestUrl}},handleJsonResponse=async e=>{let{httpClient:t,result:n,response:r,encoding:i,maxRedirects:a,requestConfig:o,context:s,authHeaders:c}=e,l=n.data;if(r.urlKey){let e=extractValueByPath(l,r.urlKey);if(typeof e==`string`){let n=await t.request({url:e,method:`get`,headers:r.forwardAuth?c:{},responseType:`arraybuffer`,maxRedirects:a,requestConfig:o,context:s}),u=encodeFileData(n.data,i),d=extractFileMetadata(n.headers);if(r.fileNameKey){let e=extractValueByPath(l,r.fileNameKey);typeof e==`string`&&(d.fileName=e)}if(r.contentTypeKey){let e=extractValueByPath(l,r.contentTypeKey);typeof e==`string`&&(d.contentType=e)}T(d.contentType)&&O(r.contentType)&&(d.contentType=r.contentType);let f=buildContentDisposition(d);return{data:u,raw:n,statusCode:n?.status,message:n?.message,headers:n.headers,contentDisposition:f,fileMetadata:d,finalUrl:e}}}if(r.dataKey){let e=extractValueByPath(l,r.dataKey);if(T(e))throw Error(`No file content found at path: ${r.dataKey}`);let t;if(typeof e==`string`)t=r.contentIsBase64?i===`base64`?e:i===`none`?Buffer.from(e,`base64`):Buffer.from(e,`base64`).toString(i===`raw`?`binary`:i):encodeFileData(e,i);else if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))t=encodeFileData(e,i);else throw Error(`Unexpected file content type at path: ${r.dataKey}`);let a={};if(r.fileNameKey){let e=extractValueByPath(l,r.fileNameKey);typeof e==`string`&&(a.fileName=e)}if(r.contentTypeKey){let e=extractValueByPath(l,r.contentTypeKey);typeof e==`string`&&(a.contentType=e)}T(a.contentType)&&O(r.contentType)&&(a.contentType=r.contentType);let o=buildContentDisposition(a);return{data:t,raw:n,statusCode:n?.status,message:n?.message,headers:n.headers,contentDisposition:o,fileMetadata:a}}throw Error(`JSON response handling requires either urlKey or dataKey to be specified`)},extractValueByPath=(e,t)=>{let n=(t.startsWith(`$.`)?t.slice(2):t).split(`.`),r=e;for(let e of n){if(T(r)||typeof r!=`object`)return;r=r[e]}return r},encodeFileData=(e,t)=>{if(t===`none`)return e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==`string`?Buffer.from(e):Buffer.from(JSON.stringify(e));if(t===`raw`)return typeof e==`string`?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?Buffer.from(e).toString(`binary`):JSON.stringify(e);if(typeof e==`string`)return t===`base64`?Buffer.from(e).toString(`base64`):e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let n=Buffer.from(e);switch(t){case`base64`:return n.toString(`base64`);case`utf8`:return n.toString(`utf8`);default:return n.toString(`binary`)}}return JSON.stringify(e)},extractFileMetadata=e=>{let t=D(e[`content-type`])?e[`content-type`]:void 0,n=D(e[`content-length`])?e[`content-length`]:void 0,r=D(e[`content-disposition`])?e[`content-disposition`]:void 0,i=D(e[`last-modified`])?e[`last-modified`]:void 0,a=D(e.etag)?e.etag:void 0,o=n?parseInt(n,10):void 0,s=extractFileName(r);return{contentType:t,contentLength:Number.isNaN(o)?void 0:o,fileName:s,lastModified:i,etag:a}},extractFileName=e=>{if(!e)return;let t=e.match(/filename\*=(?:UTF-8''|utf-8'')([^;\s]+)/i);if(t&&t[1])try{return decodeURIComponent(t[1])}catch{}let n=e.match(/filename=["']([^"']+)["']/);if(n&&n[1])return n[1];let r=e.match(/filename=([^;\s]+)/);if(r&&r[1])return r[1]},buildContentDisposition=e=>{let{fileName:t,contentType:n}=e,r=`attachment`;if(t)r=`attachment; filename="${t}"; filename*=UTF-8''${encodeURIComponent(t).replace(/['()]/g,escape)}`;else if(n){let e=getExtensionFromContentType(n);e&&(r=`attachment; filename="download.${e}"`)}return r},getExtensionFromContentType=e=>{let t=e.split(`;`)[0].trim().toLowerCase();return Z.extension(t)||void 0},Je=j.object({event:j.object({eventType:j.string(),eventId:j.coerce.string().optional(),eventDate:j.coerce.string().optional(),data:j.unknown().optional()}).optional()}),Ye=j.record(j.string(),j.unknown()),emitEventStepFunction=async({block:e,params:t})=>{let n=t?L(t,e):{},{event:r}=Je.parse(n);if(r&&e.emitEvent)try{await e.emitEvent({eventType:r.eventType,eventId:r.eventId,eventDate:r.eventDate,data:r.data})}catch(t){throw e.logger?.error({code:`EmitEventError`,message:`emitEvent callback failed: ${t.message}`}),t}else r&&!e.emitEvent&&e.logger?.warning({message:`emit_event step executed but no emitEvent callback provided on the block`});let{event:i,...a}=n;return{block:{...e},successful:!0,output:a}},Xe=j.object({stepsDataToGroup:j.array(j.string()),isSingleRecord:j.boolean().optional()}),Ze=j.object({data:j.unknown()}),groupDataStepFunction=async({block:e,params:t})=>{let{stepsDataToGroup:n,isSingleRecord:r}=Xe.parse(t),i=n.reduce((t,n)=>{let i=e.steps?.[n]?.output?.data;return i?r?{...t,[n]:{...i}}:(Object.keys(i).forEach(e=>{t[e]={...O(t[e])?t[e]:{},[n]:{...i[e]}}}),t):t},{});return{block:{...e},successful:!0,output:{data:r?i:Object.values(i)}}},Qe=e(async({block:e})=>{let t=e?.fieldConfigs,n=[],r=e.steps;if(!t||e?.debug?.custom_mappings===`disabled`||!r)return{block:e,successful:!0};let i=buildExpressionContext(e),a;if(Array.isArray(e.result)){let o=e.result.length;a=e.result.map((e,a)=>{let s=$e(e,t,extractSingleRecordBlockStepData(r,o,a),i);return n.push(...s.errors||[]),s.record})}else{let o=$e(e.result,t,r,i);a=o.record,n.push(...o.errors||[])}return{block:{...e,result:a},successful:!0,errors:Object.keys(n).length>0?n:void 0}},`mapFieldsStepFunction`),extractSingleRecordBlockStepData=(e,t,n)=>Object.entries(e).reduce((e,[r,i])=>{let a=i?.output?.data;return Array.isArray(a)&&a.length===t?e[r]={output:{data:a[n]}}:e[r]=i,e},{}),$e=e((e,t,n,r)=>{if(!e||!n)return{record:e};let i={...r,unified:{...e},...typeof n==`object`?n:{}},a={},o=[],s={...e};for(let n of t){let{error:t,value:r}=et(i,e.id,n);if(t){o.push(t);continue}n.custom?a[n.targetFieldKey]=r:s[n.targetFieldKey]=r}return{record:{...s,unified_custom_fields:Object.keys(a).length>0?a:void 0},errors:o.length>0?o:void 0}},`mapSingleRecord`),et=e((e,t,n)=>{let{expression:r,targetFieldKey:i}=n;if(!r)return{error:{message:`Expression is empty`,id:t,targetField:i}};let a;try{a=N(r,e)}catch{return{error:{message:`Invalid expression`,id:t,targetField:i}}}return a===void 0?{error:{message:`Expression returned no value`,id:t,targetField:i}}:{value:a}},`extractFieldValue`),getEnumMatcher=e=>{switch(e){case`country_alpha2code_by_alpha2code`:return i;case`country_alpha3code_by_alpha3code`:return u;case`country_code_by_country_code`:return h;case`country_name_by_country_name`:return b;case`country_name_by_alpha3code`:return v;case`country_name_by_alpha2code`:return _;case`country_name_by_country_code`:return y;case`country_alpha3code_by_alpha2code`:return l;case`country_alpha3code_by_country_name`:return f;case`country_alpha3code_by_country_code`:return d;case`country_alpha2code_by_alpha3code`:return a;case`country_alpha2code_by_country_name`:return c;case`country_alpha2code_by_country_code`:return s;case`country_code_by_alpha2code`:return p;case`country_code_by_alpha3code`:return m;case`country_code_by_country_name`:return g;case`country_subdivisions_by_alpha2code`:return C;case`country_subdivision_code_by_subdivision_name`:return x;case`country_alpha2code_by_citizenship`:return o;case`country_subdivision_name_by_subdivision_code`:return S;case`document_file_format_from_extension`:return w;default:return}},tt=M({targetFieldKey:j.string(),alias:j.string().optional(),expression:j.string().optional(),values:j.unknown().optional(),type:j.enum([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:j.boolean().default(!1),custom:j.boolean().default(!1),hidden:j.boolean().default(!1),enumMapper:M({matcher:j.string().or(M({matchExpression:j.string(),value:j.string()}).array())}).optional(),properties:j.lazy(()=>tt).array().optional(),requiredScopes:j.string().array().optional()}),nt=j.object({fields:tt.array(),dataSource:j.string(),externalSources:j.record(j.string(),j.string()).optional()}),rt=j.object({data:j.unknown()}),mergeSourceWithState=(e,t)=>E(e)?{...t,...e}:e,mapFieldsStepFunction=async({block:e,params:t})=>{let n=[],{fields:r,dataSource:i,externalSources:a}=nt.parse(t),o=buildExpressionContext(e,{includeCredentials:!0}),s=N(i,o);if(!r||!i||e?.debug?.custom_mappings===`disabled`||!s)return{block:e,successful:!0};let c=Object.keys(a??{})?.reduce((e,t)=>(e[t]=N(a?.[t],o),e),{}),l;if(Array.isArray(s))l=s.map(e=>{let t=at(r,{...e,external:c},o);return n.push(...t?.errors||[]),t?.record});else{let e=at(r,{...s,external:c},o);l=e?.record,n.push(...e?.errors||[])}return{block:{...e},successful:!0,output:{data:l},errors:Object.keys(n).length>0?n:void 0}},handleObjectArrayFromValues=(e,t,n,r)=>{if(Array.isArray(e.values))return e.values.map(i=>{let a=evaluateExpressionsInObject(i,t),o=at(e.properties,a,r);return O(o?.errors)&&n.push(...o.errors),o?.record}).filter(Boolean)},handleObjectArrayFromExpression=(e,t,n,r,i)=>{if(e.expression)try{let t=N(e.expression,n);if(Array.isArray(t))return t.map(t=>{let n=at(e.properties,t,i);return O(n?.errors)&&r.push(...n.errors),n?.record}).filter(Boolean);{let n=at(e.properties,t,i);return O(n?.errors)&&r.push(...n.errors),n?.record}}catch{r.push({message:`Invalid expression`,id:t?.id,targetField:e.targetFieldKey});return}},handleSingleObject=(e,t,n,r)=>{let i=O(e.values)?e.values:t,a=at(e.properties,i,r);return O(a?.errors)&&n.push(...a.errors),a?.record},it=e((e,t,n,r,i)=>{if(!T(e.properties))return e.array&&Array.isArray(e.values)?handleObjectArrayFromValues(e,n,r,i):e.array&&e.expression?handleObjectArrayFromExpression(e,t,n,r,i):handleSingleObject(e,t,r,i)},`handleObjectField`),at=e((e,t,n)=>{if(!t)return;let r=mergeSourceWithState(t,n),i={},a=[],o={};for(let s of e){let e;if(s.type===`object`){if(e=it(s,t,r,a,n),e===void 0)continue}else{let{error:n,value:i}=extractFieldValue(r,t?.id,s);if(e=i,n){a.push(n);continue}}s.custom?i[s.targetFieldKey]=e:o[s.targetFieldKey]=e}let s=Object.keys(i).length>0?{unified_custom_fields:i}:{};return{record:{...o,...s},errors:a.length>0?a:void 0}},`mapSingleRecord`),evaluateExpressionsInObject=(e,t)=>{if(e==null)return e;if(typeof e==`string`){if(F(e))try{return N(e,t)}catch{return e}return e}if(Array.isArray(e))return e.map(e=>evaluateExpressionsInObject(e,t));if(typeof e==`object`){let n={...e};for(let[e,r]of Object.entries(n))n[e]=evaluateExpressionsInObject(r,t);return n}return e},extractFieldValue=(e,t,n)=>{switch(n.type){case`string`:case`number`:case`boolean`:case`datetime_string`:return ot(n,t,e);case`enum`:return evaluateEnumValue(n,t,e);default:return{error:{message:`Invalid type`,id:t,targetField:n.targetFieldKey}}}},ot=e((e,t,n)=>{if(!e.expression)return{error:{message:`Expression is empty`,id:t,targetField:e.targetFieldKey}};let r;try{r=N(e.expression,n)}catch{return{error:{message:`Invalid expression`,id:t,targetField:e.targetFieldKey}}}return r===void 0?{error:{message:`Expression returned no value`,id:t,targetField:e.targetFieldKey}}:{value:r}},`evaluateValue`),evaluateEnumValue=(e,t,n)=>{let r=ot(e,t,n),i=O(r.value)?r.value:null;if(e.enumMapper===void 0)return{error:{message:`Enum mapper was not defined`,id:t,targetField:e.targetFieldKey}};let a=e.enumMapper.matcher;if(D(a)){let n=getEnumMatcher(a);return O(n)?{value:{value:(O(i)?n(i):null)??`unmapped_value`,source_value:i}}:{error:{message:`The built-in matcher "${a}" is not supported`,id:t,targetField:e.targetFieldKey}}}for(let e of a){let{matchExpression:t,value:r}=e;if(N(t,n)===!0)return{value:{value:r,source_value:i}}}return{value:{value:`unmapped_value`,source_value:i}}},st=j.object({baseUrl:j.string().optional(),url:j.string().optional(),method:j.enum([`tools/call`,`tools/list`]).default(`tools/call`),toolName:j.string().optional(),timeout:j.number().int().positive().optional(),authorization:$.optional(),args:M({name:j.string(),value:j.unknown(),condition:j.string().optional()}).array().optional()}).refine(e=>e.method!==`tools/call`||!!e.toolName,{message:`The 'toolName' parameter is required when method is 'tools/call'`,path:[`toolName`]}),ct=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),buildMcpClient=e=>new V(e),buildToolArguments=e=>(e??[]).reduce((e,t)=>(e[t.name]=t.value,e),{}),parseJsonText=e=>{try{return JSON.parse(e)}catch{return e}},resolveToolData=e=>{if(O(e.structuredContent))return e.structuredContent;let[t,...n]=e.content;return n.length===0&&t?.type===`text`&&typeof t.text==`string`?parseJsonText(t.text):e.content},extractTextMessage=e=>e.content.find(e=>typeof e.text==`string`)?.text,mcpRequestStepFunction=async({block:e,params:t},n=buildMcpClient)=>{let r=t?.args,i=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?L({...t,args:i},e):{},o;try{o=st.parse(a)}catch(t){return buildStepErrorOutput(t,e)}let{baseUrl:s,url:c,method:l,toolName:u,timeout:d,authorization:f,args:p}=o,m=`${s??``}${c??``}`;if(!m)return buildStepErrorOutput(Error(`MCP server URL is missing: set the connector baseUrl or the step url parameter`),e);let h=a?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,g;try{g=W(O(f)?f:$.parse(h??{type:`none`}))}catch(t){return buildStepErrorOutput(t,e)}let _=e.connector?.rateLimit,v=e.connector?.concurrency,y=n({serverUrl:m,headers:g,timeout:d,requestConfig:_!==void 0||v!==void 0?{rateLimits:_,concurrency:v}:void 0,context:buildRequestContext(e)});try{if(l===`tools/list`){let t=await y.listTools();return{block:e,successful:!0,output:{data:t.tools,raw:t,statusCode:200}}}if(!u)return buildStepErrorOutput(Error(`The 'toolName' parameter is required when method is 'tools/call'`),e);let t=await y.callTool({name:u,arguments:buildToolArguments(p)});if(t.isError){let n=extractTextMessage(t)??`MCP tool '${u}' returned an error`;return{block:e,successful:!1,errors:[{message:n,kind:`mcp_tool_error`,toolName:u}],output:{statusCode:502,message:n,data:resolveToolData(t),raw:t}}}return{block:e,successful:!0,output:{data:resolveToolData(t),raw:t,statusCode:200}}}catch(t){return buildStepErrorOutput(t,e)}finally{await y.close().catch(()=>void 0)}},generateSamlAssertion=async({cert:e,key:t,issuer:n,lifetime:r,clientId:i,nameId:a,tokenEndpoint:o,audience:s,nameIdentifierFormat:c,createSamlFn:l=e=>oe.create(e),sleepFn:u=e=>new Promise(t=>setTimeout(t,e))})=>{let d={api_key:i},f={cert:e,key:generatePrivateKey(t),issuer:n,lifetimeInSeconds:r,audiences:s,attributes:d,nameIdentifier:a,nameIdentifierFormat:c,recipient:o,sessionIndex:`_`+se()},p=Buffer.from(l(f)).toString(`base64`);return await u(1e3),p},generatePrivateKey=e=>{let t=Buffer.from(e,`base64`).toString(`utf-8`).split(`###`);if(t.length!==2)throw Error(`Invalid private key`);let n=t[0];return Buffer.from(`-----BEGIN PRIVATE KEY-----
|
|
1
|
+
import{t as e}from"./chunk-BhWHdk3m.mjs";import{decodeFromBase64 as t,encodeToBase64 as n,getContentHash as r,getCountryAlpha2CodeByAlpha2Code as i,getCountryAlpha2CodeByAlpha3Code as a,getCountryAlpha2CodeByCitizenship as o,getCountryAlpha2CodeByCountryCode as s,getCountryAlpha2CodeByCountryName as c,getCountryAlpha3CodeByAlpha2Code as l,getCountryAlpha3CodeByAlpha3Code as u,getCountryAlpha3CodeByCountryCode as d,getCountryAlpha3CodeByCountryName as f,getCountryCodeByAlpha2Code as p,getCountryCodeByAlpha3Code as m,getCountryCodeByCountryCode as h,getCountryCodeByCountryName as g,getCountryNameByAlpha2Code as _,getCountryNameByAlpha3Code as v,getCountryNameByCountryCode as y,getCountryNameByCountryName as b,getCountrySubDivisionCodeBySubDivisionName as x,getCountrySubDivisionNameBySubDivisionCode as S,getCountrySubDivisionsByAlpha2Code as C,getDocumentFileFormatFromExtension as w,isMissing as T,isObject as E,isString as D,notMissing as O,safeParseToBoolean as ee,safeParseToDateTimeString as k,safeParseToNumber as A,safeParseToString as te,z as j,zStrictObject as M}from"@stackone/utils";import{evaluate as N,isExpression as P,isValidExpression as F,safeEvaluate as I,safeEvaluateRecord as L}from"@stackone/expressions";import{CUSTOM_ERROR_CONFIG_SCHEMA as R,HttpMethods as z,HttpResponseError as B,McpClient as V,QueryArrayFormats as H,RequestClientFactory as ne,RequestParameterLocations as U,buildHttpsAgent as re,createAuthorizationHeaders as W,getSigningStrategy as G,isFailedStatusCode as K,parseRequestParameters as q,serializeHttpResponseError as J,translateCustomError as Y}from"@stackone/transport";import{InvokeCommand as X,LambdaClient as ie}from"@aws-sdk/client-lambda";import{Readable as ae}from"node:stream";import Z from"mime-types";import{Saml20 as oe}from"saml";import{v4 as se}from"uuid";import{REDACT_CENSOR as Q}from"@stackone/redaction";import{createHash as ce,createPrivateKey as le,createPublicKey as ue}from"node:crypto";import{SignJWT as de}from"jose";import fe from"form-data";const pe=[`context`,`inputs`,`steps`,`intermediateSteps`,`iterator`,`result`],buildExpressionContext=(e,t={})=>{let n=t.includeCredentials??e.context?.flowType===`refresh_authentication`,r=pe.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{});return n&&`credentials`in e&&(r.credentials=e.credentials),r},me={hris:{title:`HRIS`,key:`hris`,description:`Human Resource Information System`},crm:{title:`CRM`,key:`crm`,description:`Customer Relationship Management`},ats:{title:`ATS`,key:`ats`,description:`Applicant Tracking System`},lms:{title:`LMS`,key:`lms`,description:`Learning Management System`},marketing:{title:`Marketing`,key:`marketing`,description:`Marketing`},filestorage:{title:`File Storage`,key:`filestorage`,description:`File Storage`},iam:{title:`IAM`,key:`iam`,description:`Identity and Access Management`},internal:{title:`Internal`,key:`internal`,description:`Category for internal actions`},action:{title:`Action`,key:`action`,description:`Action`}},getCategoryDetails=e=>me[e.toLowerCase()]??null,isValidCategory=e=>!!me[e.toLowerCase()],he=n(`so1!`),ge=RegExp(`(?<!\\\\):`,`g`),_e=RegExp(`(?<!\\\\),`,`g`),ve=1;var ye=class CoreError extends Error{constructor({category:e,name:t,type:n,context:r,message:i}){super(i),this.name=t??`CoreError`,this.type=n,this.category=e,this.context=r,Error.captureStackTrace&&Error.captureStackTrace(this,CoreError)}toString(){let e=this.message?`: ${this.message}`:``;return`${this.category}-${this.name} [${this.type}]${e}`}},BaseCompositeIdError=class extends ye{constructor(e,t,n){super({category:`CompositeId`,name:t??`BaseCompositeIdError`,type:e,message:n})}},CompositeIdMissingHeaderError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_MISSING_HEADER_ERROR`,`CompositeIdMissingHeaderError`,e??`Invalid compositeId, missing header`)}},CompositeIdMissingBodyError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_MISSING_BODY_ERROR`,`CompositeIdMissingBodyError`,e??`Invalid compositeId, missing body`)}},CompositeIdUnknownIdentifierError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_UNKNOWN_IDENTIFIER_ERROR`,`CompositeIdUnknownIdentifierError`,e??`Invalid compositeId, unknown identifier`)}},CompositeIdUnsupportedVersionError=class extends BaseCompositeIdError{constructor(e){super(`COMPOSITE_ID_UNSUPPORTED_VERSION_ERROR`,`CompositeIdUnsupportedVersionError`,e??`Invalid compositeId, unsupported version`)}};const isSingleIdentifier=e=>!T(e)&&`value`in e&&e.value!==void 0,isMultipleIdentifier=e=>!T(e)&&`identifiers`in e&&e.identifiers!==void 0,encodeCompositeId=(e,t={version:1})=>{if(t.version===1)return encodeIdV1(getComposedIdV1(e,t.aliases));throw new CompositeIdUnsupportedVersionError(`Cannot generate ID, unsupported version number: ${t.version}`)},decodeCompositeId=(e,t={version:1})=>{let n=decodeId(e,t),r={};return n&&n.split(_e).forEach(e=>{let[n,i]=e.split(ge),a=getOriginalKey(n,t.aliases??{});r[a]=unescapeValue(i)}),r},getComposedIdV1=(e,t={})=>{if(isSingleIdentifier(e))return getSingleIdentifierString({identifier:e,compositeIdAliases:t,isSoleIdentifier:!0});if(isMultipleIdentifier(e))return e.identifiers.map(e=>getSingleIdentifierString({identifier:e,compositeIdAliases:t,isSoleIdentifier:!1})).join(`,`);throw new CompositeIdUnknownIdentifierError},getSingleIdentifierString=({identifier:e,compositeIdAliases:t,isSoleIdentifier:n})=>[n?`id`:t[e.key]||e.key,escapeValue(e.value)].filter(Boolean).join(`:`),getOriginalKey=(e,t)=>Object.keys(t).find(n=>t[n]===e)??e,decodeId=(e,t)=>{if(t.version===1)return decodeIdV1(e);throw new CompositeIdUnsupportedVersionError(`Cannot decode ID, unsupported version number: ${t.version}`)},encodeIdV1=e=>`${he}${n(e)}`,decodeIdV1=e=>{if(!e.startsWith(he))throw new CompositeIdMissingHeaderError(`Trying to decode an ID without the header: ${e}`);let n=e.split(he)[1];if(!n)throw new CompositeIdMissingBodyError(`Trying to decode an ID without a body: ${e}`);return t(n)},escapeValue=e=>[`,`,`:`].reduce((e,t)=>e.replace(t,`\\`+t),e),unescapeValue=e=>[`,`,`:`].reduce((e,t)=>{let n=`\\`+t;return e.replace(RegExp(`\\\\`+n,`g`),t)},e),isCompositeId=e=>T(e)?!1:e.startsWith(he),computeDataSyncFingerprint=e=>{let{incremental:t}=e;return r({indexField:Array.isArray(e.indexField)?e.indexField:[e.indexField],incremental:t?{type:t.type,iteratorKey:t.iterator.key,iteratorIn:t.iterator.in,format:`format`in t?t.format:null}:null})},evaluateExternalAccountIdExtractor=(e,t)=>{let n=e.events?.externalAccountIdExtractor;if(T(n)||typeof n.result!=`string`||n.result.trim().length===0)return;let r=I(`{{${n.result.trim()}}}`,t);if(!T(r)){if(typeof r==`string`){let e=r.trim();return e.length>0?e:void 0}if(typeof r==`number`||typeof r==`bigint`||typeof r==`boolean`)return String(r)}},evaluateEventRouter=(e,t)=>{let n=e.events?.router;if(!T(n))for(let e of n.rules){let n=I(`{{${e.when.trim()}}}`,t);if(n!==null&&n!==!1&&n!==void 0){let n=e.then.input?Object.fromEntries(Object.entries(e.then.input).map(([e,n])=>[e,I(`{{${String(n).trim()}}}`,t)])):void 0;return{action:e.then.action,input:n}}}},be={email:/^[^\s@]+@(?=[^\s@]+\.[^\s@])[^\s@]+$/,url:/^https?:\/\/[^\s/?#]+(?:[/?#]\S*)?$/,uri:/^[a-zA-Z][a-zA-Z0-9+.-]*:\S+$/,uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,date:/^\d{4}-\d{2}-\d{2}$/,datetime:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}(?::?\d{2})?)?$/},xe={employment_status:[`active`,`inactive`,`terminated`,`pending`,`leave`],employment_type:[`full_time`,`part_time`,`contractor`,`intern`,`temporary`],gender:[`male`,`female`,`non_binary`,`other`,`prefer_not_to_say`],marital_status:[`single`,`married`,`divorced`,`widowed`,`domestic_partnership`]},getInputEnumValues=e=>xe[e],isValidEnumRef=e=>e in xe,Se=[`preview`,`beta`,`ga`,`deprecated`,`internal`],Ce=[`auth`,`downstream-change`,`bug-fix`,`new-actions`],we=[`list`,`get`,`create`,`update`,`delete`,`custom`,`refresh_token`,`test`,`event`,`unknown`],Te=[`read`,`write`,`delete`,`search`,`execute`],Ee=[`native`,`unified`],De=[`body`,`query`,`path`,`headers`],Oe=[`email`,`url`,`uuid`,`date`,`datetime`,`uri`],ke=[`string`,`number`,`boolean`,`datetime_string`,`object`,`enum`],Ae=[`sync`,`async`],je=M({r:j.record(j.string(),M({n:j.number().optional().nullable(),c:j.string().optional().nullable(),p:j.number().optional().nullable()})),v:j.number(),t:j.number()}),Me=M({remote:j.record(j.string(),M({pageNumber:j.number().optional(),providerPageCursor:j.string().optional(),position:j.number().optional()})),version:j.number(),timestamp:j.number()}),minifyCursor=e=>n(JSON.stringify(minifyCursorObject(e))),minifyCursorObject=e=>{let{remote:t,version:n,timestamp:r}=e;return{r:Object.fromEntries(Object.entries(t).map(([e,{pageNumber:t,providerPageCursor:n,position:r}])=>[e,{n:t,c:n,p:r}])),v:n,t:r}},expandCursor=e=>{try{if(D(e)){let n=t(e),r=JSON.parse(n);return expandCursorObject(je.parse(r))}else return Me.parse(e),e}catch{return null}},expandCursorObject=e=>{let{r:t,v:n,t:r}=e;return{remote:Object.fromEntries(Object.entries(t).map(([e,{n:t,c:n,p:r}])=>[e,{pageNumber:t,providerPageCursor:n,position:r}])),version:n,timestamp:r}},areCursorsEqual=(e,t)=>{let n=typeof e==`string`?expandCursor(e):e,i=typeof t==`string`?expandCursor(t):t;if(n===null||i===null)return n===i;let{timestamp:a,...o}=n,{timestamp:s,...c}=i;return r(o)===r(c)},isCursorEmpty=({cursor:e,ignoreStepIndex:t})=>T(e)?!0:Object.keys(e?.remote??{}).reduce((n,r)=>{let i=e?.remote?.[r];return(T(t)||r!==t.toString())&&(n=n&&T(i.pageNumber)&&T(i.position)&&T(i.providerPageCursor)),n},!0),updateCursor=({cursor:e,stepIndex:t,pageNumber:n,providerPageCursor:r,position:i})=>{let a={pageNumber:n??void 0,providerPageCursor:r??void 0,position:i??void 0},o=T(n)&&T(r)&&T(i);return T(e)?{remote:o?{}:{[t]:a},version:2,timestamp:Date.now()}:o?(delete e.remote[t],e):{...e,remote:{...e.remote,[t]:a}}},isCoreError=e=>e instanceof ye;function stripPaginationParams(e,t){let n=getPaginationKeys(t);if(n.length===0)return e;let r=getIteratorLocation(t);if(!r)return e;let i=e[r];if(!i||typeof i!=`object`)return e;let a={...i};for(let e of n)delete a[e];return{...e,[r]:a}}function getPaginationKeys(e){switch(e.type){case`cursor`:return[e.iterator.key];case`offset`:{let t=e;return[t.iterator.offsetKey,t.iterator.limitKey]}case`page`:{let t=e,n=[t.iterator.pageKey];return t.iterator.pageSizeKey&&n.push(t.iterator.pageSizeKey),n}default:return[]}}function getIteratorLocation(e){if(`iterator`in e&&typeof e.iterator==`object`&&e.iterator!==null)return e.iterator.in}function stripIncrementalParams(e,t){if(!t)return e;let{key:n,in:r}=t.iterator,i=e[r];if(!i||typeof i!=`object`)return e;let a={...i};return delete a[n],{...e,[r]:a}}const Ne={RequestTester:`REQUEST_TESTER`,ActionTester:`ACTION_TESTER`,Discode:`DISCODE`,Dashboard:`DASHBOARD`,Playground:`PLAYGROUND`,SDK:`SDK`,API:`API`,Scheduler:`SCHEDULER`,Webhook:`WEBHOOK`,Agent:`AGENT`,MCP:`MCP`,Application:`APPLICATION`,DataSync:`DATA_SYNC`,DataSyncV2:`DATA_SYNC_V2`,Internal:`INTERNAL`,ConnectionTest:`CONNECTION_TEST`},Pe={HTTP:`HTTP`,MCP:`MCP`,ActionRPC:`ACTION_RPC`,WebSocket:`WEBSOCKET`},Fe={HTTP:`HTTP`,WebSocket:`WEBSOCKET`,SSE:`SSE`},Ie={APIKey:`API_KEY`,SessionToken:`SESSION_TOKEN`,UserSession:`USER_SESSION`,Cookie:`COOKIE`,Webhook:`WEBHOOK`,Signature:`SIGNATURE`},browserUseStepFunction=async()=>{throw Error(`browser_use step function cannot be executed synchronously — actions using this step must have executionMode: "async" so they are dispatched to the Temporal workflow runtime`)},Le=j.object({startUrl:j.string().url(),systemPrompt:j.string().optional(),viewport:M({width:j.number().int().positive(),height:j.number().int().positive()}).optional(),locale:j.string().optional(),budgets:M({maxDurationMs:j.number().int().positive(),maxSteps:j.number().int().positive()}),auth:M({sensitiveKeys:j.array(j.string().min(1)).optional(),requiresSession:j.boolean().optional(),allowedDomains:j.array(j.string().min(1)).optional()}).optional()}),Re=j.unknown(),sanitizeRaw=e=>{let t={};return e.status!=null&&(t.status=e.status),e.data!==void 0&&(t.data=e.data),e.headers!=null&&(t.headers=e.headers),e.requestUrl!=null&&(t.requestUrl=e.requestUrl),e.message!=null&&(t.message=e.message),t},isSerializedBuffer=e=>typeof e==`object`&&!!e&&e.type===`Buffer`&&Array.isArray(e.data),decodeBinaryBody=e=>{let t;if(Buffer.isBuffer(e)?t=e.toString(`utf8`):e instanceof ArrayBuffer?t=new TextDecoder().decode(new Uint8Array(e)):ArrayBuffer.isView(e)?t=new TextDecoder().decode(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):isSerializedBuffer(e)&&(t=Buffer.from(e.data).toString(`utf8`)),t===void 0)return e;try{return JSON.parse(t)}catch{return t}},decodeResponseBody=e=>({...e,data:decodeBinaryBody(e.data)}),isHttpLikeError=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`,extractTopLevelMessage=e=>{if(typeof e.message==`string`&&e.message.trim().length>0)return e.message},extractNestedErrorMessage=e=>{if(e.error!=null&&typeof e.error==`object`&&!Array.isArray(e.error)&&typeof e.error.message==`string`)return e.error.message;if(typeof e.error==`string`&&e.error.length>0)return e.error;if(typeof e.error_description==`string`&&e.error_description.length>0)return e.error_description},extractErrorMessage=(e,t)=>{let n=e.data;if(typeof n==`object`&&n&&!Array.isArray(n)){let e=extractTopLevelMessage(n);if(e!=null)return e}if(typeof e.message==`string`&&e.message.length>0)return e.message;if(typeof n==`object`&&n&&!Array.isArray(n)){let e=extractNestedErrorMessage(n);if(e!=null)return e}if(Array.isArray(n)&&n.length>0){let e=n[0];if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e,n=extractTopLevelMessage(t)??extractNestedErrorMessage(t);if(n!=null)return n}}return typeof n==`string`&&n.length>0?n:t},buildStepErrorOutput=(e,t)=>{if(e instanceof B){let n=e.message,r=decodeResponseBody(e.response);return{block:t,successful:!1,errors:[J(e)],output:{statusCode:r?.status??500,message:extractErrorMessage(r,n),data:r?.data,raw:sanitizeRaw(r)}}}if(isHttpLikeError(e)){let n=decodeResponseBody(e.response),r=e instanceof Error?e.message:`HTTP error: ${n.status??500}`;return{block:t,successful:!1,errors:[J(e)],output:{statusCode:n.status??500,message:extractErrorMessage(n,r),data:n.data,raw:sanitizeRaw(n)}}}return e instanceof Error?{block:t,successful:!1,errors:[J(e)],output:{statusCode:500,message:e.message}}:{block:t,successful:!1,errors:[J(e)],output:{statusCode:500,message:String(e)}}},isAwsCredentials=e=>!!e&&typeof e.accessKeyId==`string`&&typeof e.secretAccessKey==`string`,buildLambdaClientConfig=({region:e,endpoint:t,credentials:n})=>({region:e,...t?{endpoint:t}:{},...isAwsCredentials(n)?{credentials:{accessKeyId:n.accessKeyId,secretAccessKey:n.secretAccessKey,sessionToken:typeof n.sessionToken==`string`?n.sessionToken:void 0}}:t?{credentials:{accessKeyId:`local`,secretAccessKey:`local`}}:{}}),defaultClientFactory=e=>new ie(e),invokeLambda=async({lambdaName:e,payload:t,region:n,endpoint:r,invocationType:i=`RequestResponse`,qualifier:a,credentials:o,clientFactory:s=defaultClientFactory})=>{let c=s(buildLambdaClientConfig({region:n,endpoint:r,credentials:o})),l=new X({FunctionName:e,InvocationType:i,Qualifier:a,Payload:t?Buffer.from(JSON.stringify(t)):void 0}),u=await c.send(l),d=u.Payload?Buffer.from(u.Payload).toString(`utf-8`):``,f;if(d.length===0)f=void 0;else try{f=JSON.parse(d)}catch{f=d}return{statusCode:u.StatusCode??200,payload:f,functionError:u.FunctionError,executedVersion:u.ExecutedVersion}},ze=M({lambdaName:j.string(),region:j.string().optional(),endpoint:j.string().optional(),invocationType:j.enum([`RequestResponse`,`Event`,`DryRun`]).optional(),qualifier:j.string().optional(),args:M({name:j.string(),value:j.unknown(),condition:j.string().optional()}).array().optional().describe(`Key/value pairs combined into the JSON payload sent to the Lambda function`),dataKey:j.string().optional()}),Be=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional(),executedVersion:j.string().optional()}).optional(),Ve=/\${[^}]+}/,isJsonPathLike=e=>{let t=e.trimStart();return t.startsWith(`$.`)||t.startsWith(`$[`)},hasExpressionMarker=e=>P(e)||Ve.test(e)||isJsonPathLike(e),buildDataKeyExpression=e=>P(e)||e.trimStart().startsWith(`$`)?e:`$.${e}`,He=e((e,t)=>{if(T(e)||typeof e!=`object`||!e)return e;try{let n=N(buildDataKeyExpression(t),e);if(n!==void 0)return n}catch{}return e[t]},`resolveDataKey`),buildPayloadFromArgs=e=>{if(!(!e||e.length===0))return e.reduce((e,t)=>(e[t.name]=t.value,e),{})},codeExecutionLambdaStepFunction=async({block:e,params:t},n=invokeLambda)=>{let r=t?.args,i=Array.isArray(r)?r:void 0,isPlainObject=e=>typeof e==`object`&&!!e,a=i?i.filter(t=>{if(!isPlainObject(t))return!0;let n=t.condition;return typeof n!=`string`||I(n,e)===!0}).map(e=>isPlainObject(e)?{...e,condition:void 0}:e):void 0,o=t?.dataKey,s=typeof o==`string`&&!Ve.test(o),c=t?.qualifier,l=typeof c==`string`&&!hasExpressionMarker(c),u={...t?L(i===void 0?t:{...t,args:a},e):{},...s?{dataKey:o}:{},...l?{qualifier:c}:{}},d;try{d=ze.parse(u)}catch(t){return buildStepErrorOutput(t,e)}let{lambdaName:f,region:p,endpoint:m,invocationType:h,qualifier:g,args:_,dataKey:v}=d,y;try{y=await n({lambdaName:f,payload:buildPayloadFromArgs(_),region:p,endpoint:m,invocationType:h,qualifier:g,credentials:e.credentials})}catch(t){return buildStepErrorOutput(t,e)}if(y.functionError){let t=typeof y.payload==`object`&&y.payload!==null&&`errorMessage`in y.payload&&typeof y.payload.errorMessage==`string`?y.payload.errorMessage:`Lambda function error: ${y.functionError}`;return{block:e,successful:!1,errors:[{message:t,kind:`lambda_function_error`,functionError:y.functionError}],output:{statusCode:y.statusCode,message:t,data:y.payload,raw:y}}}return{block:e,successful:!0,output:{data:v?He(y.payload,v):y.payload,raw:y,statusCode:y.statusCode,executedVersion:y.executedVersion}}},buildRequestContext=e=>({accountSecureId:e.context.accountSecureId,projectSecureId:e.context.projectSecureId,organizationId:e.context.organizationId,environment:e.context.environment,authConfigKey:e.context.authenticationType,provider:e.connector?.key,service:e.context.category,resource:e.connector?.key,action:e.action?.id}),Ue=M({strategy:j.literal(`aws4`),service:j.string(),region:j.string().optional()}),We=M({strategy:j.literal(`hmac`),algorithm:j.enum([`sha1`,`sha256`,`sha512`]).optional(),headerName:j.string().optional(),prefix:j.string().optional(),dateFormat:j.enum([`iso8601`,`rfc2822`]).optional(),includeHost:j.boolean().optional(),includeBodyHash:j.boolean().optional(),outputFormat:j.enum([`header`,`basic`]).optional(),username:j.string().optional()}),Ge=j.discriminatedUnion(`strategy`,[Ue,We]),Ke=M({type:j.literal(`none`),signing:Ge.optional(),redirectUri:j.string().optional()}),qe=M({type:j.literal(`basic`),username:j.string().optional(),password:j.string().optional(),encoding:j.string().optional(),redirectUri:j.string().optional()}),Je=M({type:j.literal(`bearer`),token:j.string(),includeBearer:j.boolean().optional().default(!0),redirectUri:j.string().optional()}),Ye=new Set([`accessToken`,`refreshToken`,`idToken`,`clientId`,`clientSecret`,`authentication_config_key`,`environment`]),Xe=M({type:j.literal(`oauth2`),authorizationUrl:j.string().optional(),redirectUri:j.string().optional(),authorizationParams:j.record(j.string(),j.string()).optional(),tokenUrl:j.string().optional(),tokenParams:j.record(j.string(),j.string()).optional(),tokenExpiresIn:j.number().optional(),tokenRefreshExpiresIn:j.number().optional(),token:j.string(),includeBearer:j.boolean().optional().default(!0),scopes:j.string().optional(),scopeDelimiter:j.string().optional(),customHeaders:j.record(j.string(),j.string()).optional(),pkce:j.boolean().optional(),additionalTokenFields:j.record(j.string(),j.string().optional()).optional(),callbackParams:j.record(j.string(),j.string().min(1)).superRefine((e,t)=>{for(let[n,r]of Object.entries(e))Ye.has(r)&&t.addIssue({code:j.ZodIssueCode.custom,path:[n],message:`callbackParams must not target reserved credential key "${r}"`})}).optional(),issuer:j.string().optional(),tokenResponse:M({acceptTokenTypes:j.array(j.string()).optional(),accessToken:j.string().min(1).optional(),refreshToken:j.string().min(1).optional()}).optional()}),$=j.discriminatedUnion(`type`,[Ke,qe,Je,Xe]),Ze=M({certs:j.string().array().optional(),keys:j.string().array().optional()}).optional(),Qe=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z).optional().default(`get`),authorization:$.optional(),responseMode:j.enum([`buffer`,`stream`]).optional().default(`buffer`),responseType:j.enum([`arraybuffer`,`blob`,`text`,`json`]).optional().default(`arraybuffer`),encoding:j.enum([`base64`,`utf8`,`binary`,`raw`,`none`]).optional().default(`base64`),response:M({dataKey:j.string().optional(),fileNameKey:j.string().optional(),contentTypeKey:j.string().optional(),contentType:j.string().optional(),contentIsBase64:j.boolean().optional().default(!1),urlKey:j.string().optional(),forwardAuth:j.boolean().optional().default(!1)}).optional(),maxRedirects:j.number().optional().default(5),followRedirects:j.boolean().optional().default(!0),customErrors:R.array().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}),$e=M({data:j.union([j.string(),j.instanceof(Buffer)]).optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional(),headers:j.record(j.string(),j.union([j.string(),j.array(j.string())])).optional(),contentDisposition:j.string().optional(),fileMetadata:M({contentType:j.string().optional(),contentLength:j.number().optional(),fileName:j.string().optional(),lastModified:j.string().optional(),etag:j.string().optional()}).optional(),finalUrl:j.string().optional()}).optional(),downloadFileStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n}=t,r=n?n.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,i=t?L({...t,args:r},e):{},a={...i,customErrors:t?.customErrors},{baseUrl:o,url:s,method:c,authorization:l,args:u,responseMode:d,responseType:f,encoding:p,response:m,maxRedirects:h,followRedirects:g}=Qe.parse(a),_=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,v=u?q(u):{query:{},body:{},headers:{}},y=typeof v?.body==`string`?void 0:v?.body,b=W(O(l)?l:$.parse(_)),x={...v?.headers??{},...b},S=e.connector?.rateLimit,C=e.connector?.concurrency,w=S!==void 0||C!==void 0?{rateLimits:S,concurrency:C}:void 0,T=buildRequestContext(e);if(d===`stream`)return performStreamDownload({block:e,httpClient:e.httpClient,baseUrl:o??``,url:s,method:c,headers:x,queryParams:v?.query,body:y,maxRedirects:g?h:0,requestConfig:w,context:T,response:m,responseType:f,authHeaders:b});try{return{block:e,successful:!0,output:await performDownload({httpClient:e.httpClient,baseUrl:o??``,url:s,method:c,headers:x,queryParams:v?.query,body:y,responseType:f,encoding:p,response:m,maxRedirects:g?h:0,requestConfig:w,context:T,authHeaders:b})}}catch(t){return buildStepErrorOutput(t,e)}},performStreamDownload=async e=>{let{block:t,httpClient:n,baseUrl:r,url:i,method:a,headers:o,queryParams:s,body:c,maxRedirects:l,requestConfig:u,context:d,response:f,responseType:p,authHeaders:m}=e,h=`${r}${i}`;if(!h.startsWith(`http://`)&&!h.startsWith(`https://`))throw Error(`Invalid URL: "${h}". URL must be absolute (start with http:// or https://). Either provide a baseUrl or ensure url is a complete URL.`);if(O(f?.dataKey)||O(f?.urlKey))try{let e=await performDownload({httpClient:n,baseUrl:r,url:i,method:a,headers:o,queryParams:s,body:c,responseType:p??`arraybuffer`,encoding:`none`,response:f,maxRedirects:l,requestConfig:u,context:d,authHeaders:m??{}}),h=Buffer.isBuffer(e.data)?e.data:Buffer.from(e.data),g={...e.fileMetadata,contentLength:h.length};return{block:t,successful:!0,streamOutput:{stream:ae.from(h),headers:O(g.contentType)?{"content-type":g.contentType}:{},contentDisposition:e.contentDisposition,fileMetadata:g}}}catch(e){return buildStepErrorOutput(e,t)}if(!n.requestStream)throw Error(`HTTP client does not support streaming. Either implement requestStream method or use responseMode: "buffer".`);try{let e=await n.requestStream({url:h,method:a,headers:o,queryParams:s,payload:c,maxRedirects:l,requestConfig:u,context:d}),r=extractFileMetadata(e.headers),i=buildContentDisposition(r);return{block:t,successful:!0,streamOutput:{stream:e.stream,headers:e.headers,contentDisposition:i,fileMetadata:r}}}catch(e){return buildStepErrorOutput(e,t)}},performDownload=async e=>{let{httpClient:t,baseUrl:n,url:r,method:i,headers:a,queryParams:o,body:s,responseType:c,encoding:l,response:u,maxRedirects:d,requestConfig:f,context:p,authHeaders:m}=e,h=`${n}${r}`;if(!h.startsWith(`http://`)&&!h.startsWith(`https://`))throw Error(`Invalid URL: "${h}". URL must be absolute (start with http:// or https://). Either provide a baseUrl or ensure url is a complete URL.`);let g=u?.urlKey||u?.dataKey?`json`:c,_=await t.request({url:h,method:i,headers:a,queryParams:o,payload:s,responseType:g===`json`?void 0:g,maxRedirects:d,requestConfig:f,context:p});if(u?.urlKey||u?.dataKey)return handleJsonResponse({httpClient:t,result:_,response:u,encoding:l,maxRedirects:d,requestConfig:f,context:p,authHeaders:m});let v=encodeFileData(_.data,l),y=extractFileMetadata(_.headers),b=buildContentDisposition(y);return{data:v,raw:_,statusCode:_?.status,message:_?.message,headers:_.headers,contentDisposition:b,fileMetadata:y,finalUrl:_?.requestUrl}},handleJsonResponse=async e=>{let{httpClient:t,result:n,response:r,encoding:i,maxRedirects:a,requestConfig:o,context:s,authHeaders:c}=e,l=n.data;if(r.urlKey){let e=extractValueByPath(l,r.urlKey);if(typeof e==`string`){let n=await t.request({url:e,method:`get`,headers:r.forwardAuth?c:{},responseType:`arraybuffer`,maxRedirects:a,requestConfig:o,context:s}),u=encodeFileData(n.data,i),d=extractFileMetadata(n.headers);if(r.fileNameKey){let e=extractValueByPath(l,r.fileNameKey);typeof e==`string`&&(d.fileName=e)}if(r.contentTypeKey){let e=extractValueByPath(l,r.contentTypeKey);typeof e==`string`&&(d.contentType=e)}T(d.contentType)&&O(r.contentType)&&(d.contentType=r.contentType);let f=buildContentDisposition(d);return{data:u,raw:n,statusCode:n?.status,message:n?.message,headers:n.headers,contentDisposition:f,fileMetadata:d,finalUrl:e}}}if(r.dataKey){let e=extractValueByPath(l,r.dataKey);if(T(e))throw Error(`No file content found at path: ${r.dataKey}`);let t;if(typeof e==`string`)t=r.contentIsBase64?i===`base64`?e:i===`none`?Buffer.from(e,`base64`):Buffer.from(e,`base64`).toString(i===`raw`?`binary`:i):encodeFileData(e,i);else if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))t=encodeFileData(e,i);else throw Error(`Unexpected file content type at path: ${r.dataKey}`);let a={};if(r.fileNameKey){let e=extractValueByPath(l,r.fileNameKey);typeof e==`string`&&(a.fileName=e)}if(r.contentTypeKey){let e=extractValueByPath(l,r.contentTypeKey);typeof e==`string`&&(a.contentType=e)}T(a.contentType)&&O(r.contentType)&&(a.contentType=r.contentType);let o=buildContentDisposition(a);return{data:t,raw:n,statusCode:n?.status,message:n?.message,headers:n.headers,contentDisposition:o,fileMetadata:a}}throw Error(`JSON response handling requires either urlKey or dataKey to be specified`)},extractValueByPath=(e,t)=>{let n=(t.startsWith(`$.`)?t.slice(2):t).split(`.`),r=e;for(let e of n){if(T(r)||typeof r!=`object`)return;r=r[e]}return r},encodeFileData=(e,t)=>{if(t===`none`)return e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==`string`?Buffer.from(e):Buffer.from(JSON.stringify(e));if(t===`raw`)return typeof e==`string`?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?Buffer.from(e).toString(`binary`):JSON.stringify(e);if(typeof e==`string`)return t===`base64`?Buffer.from(e).toString(`base64`):e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let n=Buffer.from(e);switch(t){case`base64`:return n.toString(`base64`);case`utf8`:return n.toString(`utf8`);default:return n.toString(`binary`)}}return JSON.stringify(e)},extractFileMetadata=e=>{let t=D(e[`content-type`])?e[`content-type`]:void 0,n=D(e[`content-length`])?e[`content-length`]:void 0,r=D(e[`content-disposition`])?e[`content-disposition`]:void 0,i=D(e[`last-modified`])?e[`last-modified`]:void 0,a=D(e.etag)?e.etag:void 0,o=n?parseInt(n,10):void 0,s=extractFileName(r);return{contentType:t,contentLength:Number.isNaN(o)?void 0:o,fileName:s,lastModified:i,etag:a}},extractFileName=e=>{if(!e)return;let t=e.match(/filename\*=(?:UTF-8''|utf-8'')([^;\s]+)/i);if(t&&t[1])try{return decodeURIComponent(t[1])}catch{}let n=e.match(/filename=["']([^"']+)["']/);if(n&&n[1])return n[1];let r=e.match(/filename=([^;\s]+)/);if(r&&r[1])return r[1]},buildContentDisposition=e=>{let{fileName:t,contentType:n}=e,r=`attachment`;if(t)r=`attachment; filename="${t}"; filename*=UTF-8''${encodeURIComponent(t).replace(/['()]/g,escape)}`;else if(n){let e=getExtensionFromContentType(n);e&&(r=`attachment; filename="download.${e}"`)}return r},getExtensionFromContentType=e=>{let t=e.split(`;`)[0].trim().toLowerCase();return Z.extension(t)||void 0},et=j.object({event:j.object({eventType:j.string(),eventId:j.coerce.string().optional(),eventDate:j.coerce.string().optional(),data:j.unknown().optional()}).optional()}),tt=j.record(j.string(),j.unknown()),emitEventStepFunction=async({block:e,params:t})=>{let n=t?L(t,e):{},{event:r}=et.parse(n);if(r&&e.emitEvent)try{await e.emitEvent({eventType:r.eventType,eventId:r.eventId,eventDate:r.eventDate,data:r.data})}catch(t){throw e.logger?.error({code:`EmitEventError`,message:`emitEvent callback failed: ${t.message}`}),t}else r&&!e.emitEvent&&e.logger?.warning({message:`emit_event step executed but no emitEvent callback provided on the block`});let{event:i,...a}=n;return{block:{...e},successful:!0,output:a}},nt=j.object({stepsDataToGroup:j.array(j.string()),isSingleRecord:j.boolean().optional()}),rt=j.object({data:j.unknown()}),groupDataStepFunction=async({block:e,params:t})=>{let{stepsDataToGroup:n,isSingleRecord:r}=nt.parse(t),i=n.reduce((t,n)=>{let i=e.steps?.[n]?.output?.data;return i?r?{...t,[n]:{...i}}:(Object.keys(i).forEach(e=>{t[e]={...O(t[e])?t[e]:{},[n]:{...i[e]}}}),t):t},{});return{block:{...e},successful:!0,output:{data:r?i:Object.values(i)}}},it=e(async({block:e})=>{let t=e?.fieldConfigs,n=[],r=e.steps;if(!t||e?.debug?.custom_mappings===`disabled`||!r)return{block:e,successful:!0};let i=buildExpressionContext(e),a;if(Array.isArray(e.result)){let o=e.result.length;a=e.result.map((e,a)=>{let s=at(e,t,extractSingleRecordBlockStepData(r,o,a),i);return n.push(...s.errors||[]),s.record})}else{let o=at(e.result,t,r,i);a=o.record,n.push(...o.errors||[])}return{block:{...e,result:a},successful:!0,errors:Object.keys(n).length>0?n:void 0}},`mapFieldsStepFunction`),extractSingleRecordBlockStepData=(e,t,n)=>Object.entries(e).reduce((e,[r,i])=>{let a=i?.output?.data;return Array.isArray(a)&&a.length===t?e[r]={output:{data:a[n]}}:e[r]=i,e},{}),at=e((e,t,n,r)=>{if(!e||!n)return{record:e};let i={...r,unified:{...e},...typeof n==`object`?n:{}},a={},o=[],s={...e};for(let n of t){let{error:t,value:r}=ot(i,e.id,n);if(t){o.push(t);continue}n.custom?a[n.targetFieldKey]=r:s[n.targetFieldKey]=r}return{record:{...s,unified_custom_fields:Object.keys(a).length>0?a:void 0},errors:o.length>0?o:void 0}},`mapSingleRecord`),ot=e((e,t,n)=>{let{expression:r,targetFieldKey:i}=n;if(!r)return{error:{message:`Expression is empty`,id:t,targetField:i}};let a;try{a=N(r,e)}catch{return{error:{message:`Invalid expression`,id:t,targetField:i}}}return a===void 0?{error:{message:`Expression returned no value`,id:t,targetField:i}}:{value:a}},`extractFieldValue`),getEnumMatcher=e=>{switch(e){case`country_alpha2code_by_alpha2code`:return i;case`country_alpha3code_by_alpha3code`:return u;case`country_code_by_country_code`:return h;case`country_name_by_country_name`:return b;case`country_name_by_alpha3code`:return v;case`country_name_by_alpha2code`:return _;case`country_name_by_country_code`:return y;case`country_alpha3code_by_alpha2code`:return l;case`country_alpha3code_by_country_name`:return f;case`country_alpha3code_by_country_code`:return d;case`country_alpha2code_by_alpha3code`:return a;case`country_alpha2code_by_country_name`:return c;case`country_alpha2code_by_country_code`:return s;case`country_code_by_alpha2code`:return p;case`country_code_by_alpha3code`:return m;case`country_code_by_country_name`:return g;case`country_subdivisions_by_alpha2code`:return C;case`country_subdivision_code_by_subdivision_name`:return x;case`country_alpha2code_by_citizenship`:return o;case`country_subdivision_name_by_subdivision_code`:return S;case`document_file_format_from_extension`:return w;default:return}},st=M({targetFieldKey:j.string(),alias:j.string().optional(),expression:j.string().optional(),values:j.unknown().optional(),type:j.enum([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:j.boolean().default(!1),custom:j.boolean().default(!1),hidden:j.boolean().default(!1),enumMapper:M({matcher:j.string().or(M({matchExpression:j.string(),value:j.string()}).array())}).optional(),properties:j.lazy(()=>st).array().optional(),requiredScopes:j.string().array().optional()}),ct=j.object({fields:st.array(),dataSource:j.string(),externalSources:j.record(j.string(),j.string()).optional()}),lt=j.object({data:j.unknown()}),mergeSourceWithState=(e,t)=>E(e)?{...t,...e}:e,mapFieldsStepFunction=async({block:e,params:t})=>{let n=[],{fields:r,dataSource:i,externalSources:a}=ct.parse(t),o=buildExpressionContext(e,{includeCredentials:!0}),s=N(i,o);if(!r||!i||e?.debug?.custom_mappings===`disabled`||!s)return{block:e,successful:!0};let c=Object.keys(a??{})?.reduce((e,t)=>(e[t]=N(a?.[t],o),e),{}),l;if(Array.isArray(s))l=s.map(e=>{let t=dt(r,{...e,external:c},o);return n.push(...t?.errors||[]),t?.record});else{let e=dt(r,{...s,external:c},o);l=e?.record,n.push(...e?.errors||[])}return{block:{...e},successful:!0,output:{data:l},errors:Object.keys(n).length>0?n:void 0}},handleObjectArrayFromValues=(e,t,n,r)=>{if(Array.isArray(e.values))return e.values.map(i=>{let a=evaluateExpressionsInObject(i,t),o=dt(e.properties,a,r);return O(o?.errors)&&n.push(...o.errors),o?.record}).filter(Boolean)},handleObjectArrayFromExpression=(e,t,n,r,i)=>{if(e.expression)try{let t=N(e.expression,n);if(Array.isArray(t))return t.map(t=>{let n=dt(e.properties,t,i);return O(n?.errors)&&r.push(...n.errors),n?.record}).filter(Boolean);{let n=dt(e.properties,t,i);return O(n?.errors)&&r.push(...n.errors),n?.record}}catch{r.push({message:`Invalid expression`,id:t?.id,targetField:e.targetFieldKey});return}},handleSingleObject=(e,t,n,r)=>{let i=O(e.values)?e.values:t,a=dt(e.properties,i,r);return O(a?.errors)&&n.push(...a.errors),a?.record},ut=e((e,t,n,r,i)=>{if(!T(e.properties))return e.array&&Array.isArray(e.values)?handleObjectArrayFromValues(e,n,r,i):e.array&&e.expression?handleObjectArrayFromExpression(e,t,n,r,i):handleSingleObject(e,t,r,i)},`handleObjectField`),dt=e((e,t,n)=>{if(!t)return;let r=mergeSourceWithState(t,n),i={},a=[],o={};for(let s of e){let e;if(s.type===`object`){if(e=ut(s,t,r,a,n),e===void 0)continue}else{let{error:n,value:i}=extractFieldValue(r,t?.id,s);if(e=i,n){a.push(n);continue}}s.custom?i[s.targetFieldKey]=e:o[s.targetFieldKey]=e}let s=Object.keys(i).length>0?{unified_custom_fields:i}:{};return{record:{...o,...s},errors:a.length>0?a:void 0}},`mapSingleRecord`),evaluateExpressionsInObject=(e,t)=>{if(e==null)return e;if(typeof e==`string`){if(F(e))try{return N(e,t)}catch{return e}return e}if(Array.isArray(e))return e.map(e=>evaluateExpressionsInObject(e,t));if(typeof e==`object`){let n={...e};for(let[e,r]of Object.entries(n))n[e]=evaluateExpressionsInObject(r,t);return n}return e},extractFieldValue=(e,t,n)=>{switch(n.type){case`string`:case`number`:case`boolean`:case`datetime_string`:return ft(n,t,e);case`enum`:return evaluateEnumValue(n,t,e);default:return{error:{message:`Invalid type`,id:t,targetField:n.targetFieldKey}}}},ft=e((e,t,n)=>{if(!e.expression)return{error:{message:`Expression is empty`,id:t,targetField:e.targetFieldKey}};let r;try{r=N(e.expression,n)}catch{return{error:{message:`Invalid expression`,id:t,targetField:e.targetFieldKey}}}return r===void 0?{error:{message:`Expression returned no value`,id:t,targetField:e.targetFieldKey}}:{value:r}},`evaluateValue`),evaluateEnumValue=(e,t,n)=>{let r=ft(e,t,n),i=O(r.value)?r.value:null;if(e.enumMapper===void 0)return{error:{message:`Enum mapper was not defined`,id:t,targetField:e.targetFieldKey}};let a=e.enumMapper.matcher;if(D(a)){let n=getEnumMatcher(a);return O(n)?{value:{value:(O(i)?n(i):null)??`unmapped_value`,source_value:i}}:{error:{message:`The built-in matcher "${a}" is not supported`,id:t,targetField:e.targetFieldKey}}}for(let e of a){let{matchExpression:t,value:r}=e;if(N(t,n)===!0)return{value:{value:r,source_value:i}}}return{value:{value:`unmapped_value`,source_value:i}}},pt=j.object({baseUrl:j.string().optional(),url:j.string().optional(),method:j.enum([`tools/call`,`tools/list`]).default(`tools/call`),toolName:j.string().optional(),timeout:j.number().int().positive().optional(),authorization:$.optional(),args:M({name:j.string(),value:j.unknown(),condition:j.string().optional()}).array().optional()}).refine(e=>e.method!==`tools/call`||!!e.toolName,{message:`The 'toolName' parameter is required when method is 'tools/call'`,path:[`toolName`]}),mt=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),buildMcpClient=e=>new V(e),buildToolArguments=e=>(e??[]).reduce((e,t)=>(e[t.name]=t.value,e),{}),parseJsonText=e=>{try{return JSON.parse(e)}catch{return e}},resolveToolData=e=>{if(O(e.structuredContent))return e.structuredContent;let[t,...n]=e.content;return n.length===0&&t?.type===`text`&&typeof t.text==`string`?parseJsonText(t.text):e.content},extractTextMessage=e=>e.content.find(e=>typeof e.text==`string`)?.text,mcpRequestStepFunction=async({block:e,params:t},n=buildMcpClient)=>{let r=t?.args,i=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?L({...t,args:i},e):{},o;try{o=pt.parse(a)}catch(t){return buildStepErrorOutput(t,e)}let{baseUrl:s,url:c,method:l,toolName:u,timeout:d,authorization:f,args:p}=o,m=`${s??``}${c??``}`;if(!m)return buildStepErrorOutput(Error(`MCP server URL is missing: set the connector baseUrl or the step url parameter`),e);let h=a?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,g;try{g=W(O(f)?f:$.parse(h??{type:`none`}))}catch(t){return buildStepErrorOutput(t,e)}let _=e.connector?.rateLimit,v=e.connector?.concurrency,y=n({serverUrl:m,headers:g,timeout:d,requestConfig:_!==void 0||v!==void 0?{rateLimits:_,concurrency:v}:void 0,context:buildRequestContext(e)});try{if(l===`tools/list`){let t=await y.listTools();return{block:e,successful:!0,output:{data:t.tools,raw:t,statusCode:200}}}if(!u)return buildStepErrorOutput(Error(`The 'toolName' parameter is required when method is 'tools/call'`),e);let t=await y.callTool({name:u,arguments:buildToolArguments(p)});if(t.isError){let n=extractTextMessage(t)??`MCP tool '${u}' returned an error`;return{block:e,successful:!1,errors:[{message:n,kind:`mcp_tool_error`,toolName:u}],output:{statusCode:502,message:n,data:resolveToolData(t),raw:t}}}return{block:e,successful:!0,output:{data:resolveToolData(t),raw:t,statusCode:200}}}catch(t){return buildStepErrorOutput(t,e)}finally{await y.close().catch(()=>void 0)}},generateSamlAssertion=async({cert:e,key:t,issuer:n,lifetime:r,clientId:i,nameId:a,tokenEndpoint:o,audience:s,nameIdentifierFormat:c,createSamlFn:l=e=>oe.create(e),sleepFn:u=e=>new Promise(t=>setTimeout(t,e))})=>{let d={api_key:i},f={cert:e,key:generatePrivateKey(t),issuer:n,lifetimeInSeconds:r,audiences:s,attributes:d,nameIdentifier:a,nameIdentifierFormat:c,recipient:o,sessionIndex:`_`+se()},p=Buffer.from(l(f)).toString(`base64`);return await u(1e3),p},generatePrivateKey=e=>{let t=Buffer.from(e,`base64`).toString(`utf-8`).split(`###`);if(t.length!==2)throw Error(`Invalid private key`);let n=t[0];return Buffer.from(`-----BEGIN PRIVATE KEY-----
|
|
2
2
|
${n}
|
|
3
|
-
-----END PRIVATE KEY-----`)},lt=e(e=>{let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},`isJexlExpression`),ut=e((e,t)=>{if(T(e)||typeof e!=`object`||!e)return e;let n=I(lt(t)?t:`$.${t}`,e);return n===void 0?e[t]:n},`resolveDataKey`),resolveFromHeaders=(e,t)=>{if(T(e)||typeof e!=`object`)return null;if(lt(t)){let n=I(t,e);return typeof n==`string`&&n!==``||typeof n==`number`?n:null}let n=t.toLowerCase(),[,r]=Object.entries(e).find(([e])=>e?.toLowerCase()===n)??[];if(Array.isArray(r)){let e=r.find(e=>typeof e==`string`&&e!==``||typeof e==`number`);return typeof e==`string`||typeof e==`number`?e:null}return typeof r==`string`&&r!==``||typeof r==`number`?r:null},resolveFromData=(e,t)=>{if(T(e)||typeof e!=`object`||!e)return null;let n=I(lt(t)?t:`$.${t}`,e);return T(n)?null:typeof n==`string`||typeof n==`number`||typeof n==`object`?n:null},preserveJexlResponseKeys=(e,t)=>{let{nextKey:n,dataKey:r}=e?.response??{},i=n&<(n),a=r&<(r);return!i&&!a?t:{...t??{},...i?{nextKey:n}:{},...a?{dataKey:r}:{}}},dt=j.object({baseUrl:j.string(),url:j.string(),method:j.enum(z),authorization:$.optional(),saml:M({objectKey:j.string(),key:j.string(),clientId:j.string(),cert:j.unknown().optional(),issuer:j.string().optional(),lifetime:j.number().optional(),nameId:j.string().optional(),audience:j.string().optional(),nameIdentifierFormat:j.string().optional(),tokenEndpoint:j.string().optional()}).optional(),response:M({indexField:j.string().optional(),dataKey:j.string().optional(),nextKey:j.string().optional(),nextKeyIn:j.enum([`data`,`headers`]).optional()}).optional(),iterator:M({key:j.string(),in:j.enum([`query`,`body`]),condition:j.string().optional(),mode:j.enum([`cursor`,`offset`,`page`]).optional(),startPage:j.number().int().min(0).max(2**53-1).optional(),maxPage:j.number().int().positive().max(1e4).optional()}).superRefine((e,t)=>{e.startPage!==void 0&&e.mode!==`page`&&t.addIssue({code:j.ZodIssueCode.custom,path:[`startPage`],message:`startPage is only valid when iterator.mode is "page"`}),e.maxPage!==void 0&&e.mode!==`page`&&t.addIssue({code:j.ZodIssueCode.custom,path:[`maxPage`],message:`maxPage is only valid when iterator.mode is "page"`});let n=e.maxPage??1e3;e.mode===`page`&&(e.startPage??1)>n&&t.addIssue({code:j.ZodIssueCode.custom,path:[`startPage`],message:`startPage must not exceed maxPage (${n})`})}),cursor:M({token:j.string().optional().nullable(),position:j.number().optional().nullable()}).optional(),customErrors:R.array().optional(),encodeQueryParams:j.boolean().optional(),cacheTTL:j.number().int().nonnegative().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}),ft=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional(),next:j.string().optional().nullable(),position:j.number().optional()}).optional(),paginatedRequestStepFunction=async({block:e,params:t})=>{let n=ne.build();if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:i}=t,a=Number(e.inputs?.page_size),o=Number.isNaN(a)?25:a,s=i?i.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,c=t?L({...t,args:s},e):{},l={...c,customErrors:t?.customErrors,iterator:{...c?.iterator??{},condition:t?.iterator?.condition},response:preserveJexlResponseKeys(t,c?.response)},u=l.authorization;if(O(u)){let t=$.safeParse(u);if(!t.success)return buildStepErrorOutput(Error(invalidStepAuthorizationMessage(t.error)),e)}let{baseUrl:d,url:f,method:p,response:m,authorization:h,iterator:g,cursor:_,customErrors:v,encodeQueryParams:y,args:b,saml:x,cacheTTL:S}=dt.parse(l),C=c?.authentication?.[e.context.authenticationType]?.[e.context.environment],w=C?.authorization,D=C?.certificates,ee=D?re(D):void 0,k=O(h)?h:$.parse(w);if(k.type===`none`&&O(k.signing))return buildStepErrorOutput(Error(`authorization.signing is not supported on paginated_request steps — every page changes the query string, so the signature would have to be recomputed per page; use a request step instead`),e);let A=b?q(b):{query:{},body:{},headers:{}},te=W(k),j={...A?.headers??{},...te},M=e.connector?.rateLimit,P=e.connector?.concurrency,F=M!==void 0||P!==void 0?{rateLimits:M,concurrency:P}:void 0,R=buildRequestContext(e),z=O(x)?{[x.objectKey]:await generateSamlAssertion({key:x.key,clientId:x.clientId,cert:x.cert,issuer:x.issuer,lifetime:x.lifetime,audience:x.audience,nameId:x.nameId,nameIdentifierFormat:x.nameIdentifierFormat,tokenEndpoint:x.tokenEndpoint})}:{},B=g.mode===`offset`,V=g.mode===`page`,H=g.maxPage??1e3,U=H+1,G=V?resolveInitialPage(_?.token,g.startPage??1):_?.token??null,K=null,J=null,Y=[],X=[],ie=[],ae=o,Z=_?.position??0,oe=!0,se=!0,Q=!0,ce=null;do{if(V&&Number(G)>U)return buildStepErrorOutput(maxPageExceededError(H,G),e);oe?oe=!1:B||(Z=0),G===null?B&&(g.in===`query`?A.query[g.key]=Z.toString():g.in===`body`&&(Array.isArray(A.body)||(A.body[g.key]=Z))):g.in===`query`?E(G)?Object.entries(G).forEach(([e,t])=>{A.query[`${g.key}[${e}]`]=t?.toString()??``}):A.query[g.key]=G.toString():g.in===`body`&&(Array.isArray(A.body)||(A.body[g.key]=G));let t;try{t=await n.performRequest({httpClient:e.httpClient,url:`${d}${f}`,queryParams:{...A?.query},encodeQueryParams:y,method:p,headers:{...j},body:Array.isArray(A?.body)?A.body:{...typeof A?.body==`string`?void 0:A?.body,...z},customErrorConfigs:v,requestConfig:F,httpsAgent:ee,credentials:e.credentials,context:R,cacheTTL:S})}catch(t){return buildStepErrorOutput(t,e)}if(K=G,X=m?.dataKey?ut(t.data,m.dataKey):t.data,!Array.isArray(X)){let n=V?` at page ${K}`:``,r=m?.dataKey?` at "${m.dataKey}"`:``,i=X===null?`null`:typeof X;e.logger?.warning({message:`Pagination stopped${n}: expected an array of records${r} but received ${i}; treating it as an empty page`}),ie.push(t),J=t?.status,se=!0;break}if(V){let t=r(X);if(t===ce){e.logger?.warning({message:`Pagination stopped at page ${K}: the provider returned the previous page again, so the page number is not advancing`}),se=!0;break}ce=t}if(V&&Number(K)>H&&X.length>0)return buildStepErrorOutput(maxPageExceededError(H,K),e);let i=B?X?.slice(0,ae):X?.slice(Z,Z+ae);ae-=i.length,Z+=i.length,ie.push(t),Y=Y.concat(i),J=t?.status,G=V?incrementPage(Number(K)):pt({result:t,response:m}),Q=O(g.condition)?I(g.condition,t.data)===!0:!0;let a=Z>=(X?.length??0),s=O(m?.nextKey),c=i.length===X.length&&ae===0;!B&&(s||V)&&a&&(Z=0,K=G),se=B?!Q||T(G)&&Y.length<o:V?a&&(!Q||Y.length<o):s?a&&(T(G)||!Q):!Q||T(G)&&Y.length<o||c}while((B||O(G))&&Q&&Y.length<o&&X?.length>0);let le=mt(Y,m),ue=se?void 0:K;return{block:e,successful:!0,output:{data:le,raw:ie,statusCode:J,next:V&&typeof ue==`number`?ue.toString():ue,position:se?void 0:Z}}},resolveInitialPage=(e,t)=>{let n=Number(e);return Number.isSafeInteger(n)&&n>=t?n:t},incrementPage=e=>e+1,maxPageExceededError=(e,t)=>Error(`Pagination exceeded iterator.maxPage (${e}) at page ${t}`),invalidStepAuthorizationMessage=e=>`step authorization is invalid, check its credential expressions resolve for this account: ${e.issues.map(e=>e.message).join(`; `)}`,pt=e(({result:e,response:t})=>{if(T(t?.nextKey))return null;let n=t?.nextKeyIn??`data`,r=t?.nextKey;return n===`headers`?resolveFromHeaders(e.headers,r):resolveFromData(e.data,r)},`resolveNextIterator`),mt=e((e,t)=>{if(t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),ht=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z),authorization:$.optional(),certificates:Ge,saml:M({objectKey:j.string(),key:j.string(),clientId:j.string(),cert:j.unknown().optional(),issuer:j.string().optional(),lifetime:j.number().optional(),nameId:j.string().optional(),audience:j.string().optional(),nameIdentifierFormat:j.string().optional(),tokenEndpoint:j.string().optional()}).optional(),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional()}).optional(),customErrors:R.array().optional(),encodeQueryParams:j.boolean().optional(),cacheTTL:j.number().int().nonnegative().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),inline:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}).superRefine((e,t)=>{let n=e.args??[],r=n.map((e,t)=>({arg:e,index:t})).filter(({arg:e})=>e.inline===!0),i=n.filter(e=>e.in===`body`).length;if(n.forEach((e,n)=>{e.inline===!0&&e.in!==`body`&&t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline is only valid when in is "body", got "${e.in}"`}),e.inline===!0&&e.spread&&t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with spread`})}),r.length>0&&i>1)for(let{arg:e,index:n}of r)t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: an inline body arg must be the only "in: body" arg, found ${i}; arg conditions are not considered`});if(r.length>0&&e.saml!==void 0)for(let{arg:e,index:n}of r)t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with the saml parameter`});if(r.length>0&&e.cacheTTL!==void 0&&e.cacheTTL>0)for(let{arg:e,index:n}of r)t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with a nonzero cacheTTL`});for(let{arg:e,index:n}of r)typeof e.value==`string`?e.value.length===0&&t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`value`],message:`args.${e.name}: inline value must be a non-empty string, got an empty string`}):t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`value`],message:`args.${e.name}: inline value must be a non-empty string, got ${typeof e.value}`})}),gt=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),isJexlExpression=e=>{let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},isErrorWithResponseBody=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`&&`body`in e.response,isErrorWithResponseConfigData=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`&&`config`in e.response&&e.response.config!=null&&typeof e.response.config==`object`&&`data`in e.response.config,requestStepFunction=async({block:e,params:t})=>{let n=ne.build();if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?.response?.dataKey,o=a&&isJexlExpression(a),s=t?L({...t,args:i},e):{},c={...s,customErrors:t?.customErrors,response:o?{...s?.response??{},dataKey:a}:s?.response},{baseUrl:l,url:u,method:d,response:f,authorization:p,certificates:m,customErrors:h,encodeQueryParams:g,args:_,saml:v,cacheTTL:y}=ht.parse(c),b=s?.authentication?.[e.context.authenticationType]?.[e.context.environment],x=b?.authorization,S=m??b?.certificates,C=S?re(S):void 0,w=_?q(_):{query:{},body:{},headers:{}},T=_?.some(e=>e.in===`body`&&e.inline===!0)??!1,E=O(p)?p:$.parse(x),D=W(E),ee={...w?.headers??{},...D},k=e.connector?.rateLimit,A=e.connector?.concurrency,te=k!==void 0||A!==void 0?{rateLimits:k,concurrency:A}:void 0,j=O(v)?{[v.objectKey]:await generateSamlAssertion({key:v.key,clientId:v.clientId,cert:v.cert,issuer:v.issuer,lifetime:v.lifetime,audience:v.audience,nameId:v.nameId,nameIdentifierFormat:v.nameIdentifierFormat,tokenEndpoint:v.tokenEndpoint})}:{},M=typeof w?.body==`string`||Array.isArray(w?.body)?w?.body:{...w?.body,...j};if(E.type===`none`&&E.signing?.strategy){if(g===!1)return buildStepErrorOutput(Error(`encodeQueryParams: false is not supported when a request signing strategy is configured — signed canonical would not match the wire query`),e);let t=E.signing,n=e.credentials??{};try{let e=G(t.strategy);if(!e)throw Error(`Signing strategy "${t.strategy}" is not registered`);let r=e({method:d,url:`${l}${u}`,headers:ee,query:w?.query??{},body:M},n,t);Object.assign(ee,r)}catch(t){return buildStepErrorOutput(t,e)}}let P;try{P=await n.performRequest({httpClient:e.httpClient,url:`${l}${u}`,queryParams:w?.query,encodeQueryParams:g,method:d,headers:ee,body:M,customErrorConfigs:h,requestConfig:te,httpsAgent:C,credentials:e.credentials,context:buildRequestContext(e),cacheTTL:y})}catch(t){return T&&(isErrorWithResponseBody(t)&&(t.response.body=Q),isErrorWithResponseConfigData(t)&&(t.response.config.data=Q)),buildStepErrorOutput(t,e)}return{block:e,successful:!0,output:{data:_t(f?.dataKey?resolveDataKey(P.data,f.dataKey):P.data,f),raw:T&&P&&`body`in P?{...P,body:Q}:P,statusCode:P?.status,message:P?.message}}},resolveDataKey=(e,t)=>{if(T(e)||typeof e!=`object`||!e)return e;let n=I(isJexlExpression(t)?t:`$.${t}`,e);return n===void 0?e[t]:n},_t=e((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),vt=j.union([j.string(),j.number()]),yt=M({algorithm:j.literal(`RS256`),privateKey:j.string(),claims:j.record(j.string(),vt)}),bt=M({token:j.string(),expiresIn:j.number(),publicKeyFingerprint:j.string()}),computePublicKeyFingerprint=e=>{let t=e.export({format:`der`,type:`spki`});return`SHA256:${ce(`sha256`).update(t).digest(`base64`)}`},xt=/^now$/,St=/^now\+(?<amount>\d+)(?<unit>[smh])$/,Ct=`{publicKeyFingerprint}`,wt={s:1,m:60,h:3600},Tt=new Set([`iat`,`exp`,`nbf`]),resolveClaimValue=(e,t,{now:n,publicKeyFingerprint:r})=>{if(typeof t==`number`)return t;let i=t.includes(Ct)?t.split(Ct).join(r):t;if(!Tt.has(e))return i;if(xt.test(i))return n;let a=i.match(St);return a?.groups?n+Number(a.groups.amount)*wt[a.groups.unit]:i},signJwtStepFunction=async({block:e,params:t})=>{try{let n=t?L(t,e):void 0,{algorithm:r,privateKey:i,claims:a}=yt.parse(n),o=le(i),s=computePublicKeyFingerprint(ue(o)),c=Math.floor(Date.now()/1e3),l={};for(let[e,t]of Object.entries(a))l[e]=resolveClaimValue(e,t,{now:c,publicKeyFingerprint:s});let{iat:u,exp:d}=l;if(typeof u!=`number`||typeof d!=`number`)throw Error(`signJwt requires numeric 'iat' and 'exp' claims (use 'now' / 'now+<N>s|m|h' tokens, or pass numbers directly)`);if(d<=u)throw Error(`signJwt requires 'exp' to be greater than 'iat'`);let f=await new de(l).setProtectedHeader({alg:r}).sign(o);return{block:{...e},successful:!0,output:{token:f,expiresIn:d-u,publicKeyFingerprint:s}}}catch(t){return buildStepErrorOutput(t,e)}},Et=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z),authorization:j.discriminatedUnion(`type`,[M({type:j.literal(`none`)}),M({type:j.literal(`basic`),username:j.string().optional(),password:j.string().optional(),encoding:j.string().optional()}),M({type:j.literal(`bearer`),token:j.string(),includeBearer:j.boolean().optional().default(!0)}),M({type:j.literal(`oauth2`),token:j.string(),includeBearer:j.boolean().optional().default(!0)})]).optional(),envelope:j.union([j.string(),j.record(j.string(),j.unknown())]).optional(),namespaces:j.strictObject({namespaceIdentifier:j.string(),namespace:j.string()}).array().optional(),soapOperation:j.string().optional(),soapAction:j.string().optional(),useSoapContext:j.boolean().optional().default(!0),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional(),nextKey:j.string().optional(),nextKeyIn:j.enum([`data`,`headers`]).optional()}).optional(),iterator:M({key:j.string(),in:j.enum([`query`,`body`])}),cursor:M({token:j.string().optional().nullable(),position:j.number().optional().nullable()}).optional(),customErrors:R.array().optional(),encodeQueryParams:j.boolean().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}),Dt=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional(),next:j.string().optional().nullable(),position:j.number().optional()}).optional(),soapPaginatedRequestStepFunction=async({block:e,params:t})=>{let n=ne.build(`soap`);if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=Number(e.inputs?.page_size),a=Number.isNaN(i)?25:i,o=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,s=t?L({...t,args:o},e):{},c={...s,customErrors:t?.customErrors,response:preserveJexlResponseKeys(t,s?.response)},l=t?.envelope,{baseUrl:u,url:d,method:f,response:p,iterator:m,cursor:h,authorization:g,customErrors:_,encodeQueryParams:v,args:y,soapOperation:b,namespaces:x,soapAction:S,useSoapContext:C}=Et.parse(c),w=s?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,E=y?q(y):{query:{},body:{},headers:{}},D=W(O(g)?g:$.parse(w)),ee={...E?.headers??{},...D},k=e.connector?.rateLimit,A=e.connector?.concurrency,te={...k!==void 0||A!==void 0?{rateLimits:k,concurrency:A}:void 0,soapOperation:b,namespaces:x,soapAction:S,soapContext:C?{username:e.credentials?.username,password:e.credentials?.password}:void 0},j=h?.token??null,M=null,P=null,F=[],I=[],R=[],z=a,B=h?.position??0,V=!0,H;do{V?V=!1:B=0,j!==null&&(m.in===`query`?E.query[m.key]=j.toString():m.in===`body`&&(E.body[m.key]=j));let t;try{t=await n.performRequest({httpClient:e.httpClient,url:`${u}${d}`,queryParams:{...E?.query},encodeQueryParams:v,method:f,headers:ee,body:E?.body,customErrorConfigs:_,requestConfig:{...te,...O(l)&&{envelope:evaluateEnvelope(l,e,j)}},credentials:e.credentials,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}M=j,I=p?.dataKey?ut(t.data,p.dataKey):t.data,Array.isArray(I)||(I=I?[I]:[]);let r=I?.slice(B,B+z);z-=r.length,B+=r.length,R.push(t),F=F.concat(r),P=t?.status,j=resolveNextIterator({result:t,response:p});let i=B>=(I?.length??0),o=O(p?.nextKey),s=r.length===I.length&&z===0;o&&i&&(B=0,M=j),H=o?i&&T(j):T(j)&&F.length<a||s}while(O(j)&&F.length<a&&I?.length>0);return{block:e,successful:!0,output:{data:Ot(F,p),raw:R,statusCode:P,next:H?void 0:stringifyCursorToken(M),position:H?void 0:B}}},stringifyCursorToken=e=>e===null?null:String(e),evaluateEnvelope=(e,t,n)=>{let r={...t,pageIterator:n};return typeof e==`string`?I(e,r):L(e,r)},resolveNextIterator=({result:e,response:t})=>{if(T(t?.nextKey))return null;let n=t?.nextKeyIn??`data`,r=t?.nextKey,i=n===`headers`?resolveFromHeaders(e.headers,r):resolveFromData(e.data,r);return typeof i==`string`||typeof i==`number`?i:null},Ot=e((e,t)=>{if(t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),kt=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z),authorization:$.optional(),envelope:j.union([j.string(),j.record(j.string(),j.unknown())]).optional(),namespaces:j.strictObject({namespaceIdentifier:j.string(),namespace:j.string()}).array().optional(),soapOperation:j.string().optional(),soapAction:j.string().optional(),useSoapContext:j.boolean().optional().default(!0),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional()}).optional(),customErrors:R.array().optional(),encodeQueryParams:j.boolean().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}),At=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),soapRequestStepFunction=async({block:e,params:t})=>{let n=ne.build(`soap`);if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?L({...t,args:i},e):{},o={...a,customErrors:t?.customErrors},{baseUrl:s,url:c,method:l,response:u,authorization:d,customErrors:f,encodeQueryParams:p,args:m,soapOperation:h,namespaces:g,envelope:_,soapAction:v,useSoapContext:y}=kt.parse(o),b=a?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,x=m?q(m):{query:{},body:{},headers:{}},S=W(O(d)?d:$.parse(b)),C={...x?.headers??{},...S},w=e.connector?.rateLimit,T=e.connector?.concurrency,E={...w!==void 0||T!==void 0?{rateLimits:w,concurrency:T}:void 0,soapOperation:h,namespaces:g,envelope:_,soapAction:v,soapContext:y?{username:e.credentials?.username,password:e.credentials?.password}:void 0},D;try{D=await n.performRequest({httpClient:e.httpClient,url:`${s}${c}`,queryParams:x?.query,encodeQueryParams:p,method:l,headers:C,body:x?.body,customErrorConfigs:f,requestConfig:E,credentials:e.credentials,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}return{block:e,successful:!0,output:{data:jt(u?.dataKey?D.data[u?.dataKey]:D.data,u),raw:D,statusCode:D?.status,message:D?.message}}},jt=e((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Mt=j.object({values:j.string().or(j.record(j.string(),j.unknown())).or(j.array(j.unknown()))}),Nt=j.object({data:j.unknown()}),staticValuesStepFunction=async({block:e,params:t})=>{let{values:n}=Mt.parse(t),r=Array.isArray(n)?n.map(t=>evaluateValue(t,e)):evaluateValue(n,e);return{block:{...e},successful:!0,output:{data:r}}},evaluateValue=(e,t)=>D(e)?I(e,t):E(e)?L(e,t):e,Pt=j.object({targetFieldKey:j.string(),type:j.enum([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:j.boolean().default(!1),custom:j.boolean().default(!1),hidden:j.boolean().default(!1),properties:j.lazy(()=>Pt).array().optional(),requiredScopes:j.string().array().optional()}),Ft=j.object({fields:Pt.array().optional(),dataSource:j.string()}),It=j.object({data:j.unknown()});let Lt=function(e){return e.String=`string`,e.Number=`number`,e.Boolean=`boolean`,e.DateTimeString=`datetime_string`,e}({});const typecast=({value:e,type:t,format:n})=>{if(T(e))return null;switch(t){case`string`:return te({value:e});case`number`:return A({value:e});case`boolean`:return ee({value:e});case`datetime_string`:return k({value:e,format:n});default:return e}},isFieldSupportedType=e=>Object.values(Lt).includes(e),Rt=e(async({block:e})=>{let t=e?.fieldConfigs;if(!t||e?.debug?.custom_mappings===`disabled`)return{block:e,successful:!0};let n;return n=Array.isArray(e.result)?e.result.map(e=>zt(e,t)):zt(e.result,t),{block:{...e,result:n},successful:!0}},`typecastStepFunction`),zt=e((e,t)=>{let n={...e};return t.forEach(t=>{let{targetFieldKey:r,type:i}=t;isFieldSupportedType(i)&&(!t.custom&&O(n[r])?n[r]=typecast({value:e[r],type:i}):n.unified_custom_fields&&O(n.unified_custom_fields?.[r])&&(n.unified_custom_fields[r]=typecast({value:e.unified_custom_fields?.[r],type:i})))}),{...n}},`mapSingleRecord`),typecastStepFunction=async({block:e,params:t})=>{let{fields:n,dataSource:r}=Ft.parse(t),i=N(r,buildExpressionContext(e));if(!n||e?.debug?.custom_mappings===`disabled`)return{block:e,successful:!0};let a;return a=Array.isArray(i)?i.map(e=>mapSingleRecord(e,n)):mapSingleRecord(i,n),{block:{...e},successful:!0,output:{data:a}}},handleObjectField=(e,t)=>!e.properties||!t?t:Array.isArray(t)?t.map(t=>typeof t==`object`&&t?mapSingleRecord(t,e.properties):t):typeof t==`object`&&t?mapSingleRecord(t,e.properties):t,mapSingleRecord=(e,t)=>{let n={...e};return t.forEach(t=>{let{targetFieldKey:r,type:i,array:a}=t;i===`object`?!t.custom&&O(n[r])?n[r]=handleObjectField(t,e[r]):n.unified_custom_fields&&O(n.unified_custom_fields?.[r])&&(n.unified_custom_fields[r]=handleObjectField(t,e.unified_custom_fields?.[r])):isFieldSupportedType(i)&&(!t.custom&&O(n[r])?(!a||!Array.isArray(n[r]))&&(n[r]=typecast({value:e[r],type:i})):n.unified_custom_fields&&O(n.unified_custom_fields?.[r])&&(!a||!Array.isArray(n.unified_custom_fields[r]))&&(n.unified_custom_fields[r]=typecast({value:e.unified_custom_fields?.[r],type:i})))}),{...n}},Bt=M({content:j.string().describe(`The file content as base64 encoded string`),contentType:j.string().optional().describe(`The MIME type for the binary content (defaults to application/octet-stream)`)}),Vt=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z).default(`post`),authorization:$.optional(),binaryContent:Bt.describe(`Raw binary content for octet-stream uploads`),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional()}).optional(),customErrors:R.array().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional().describe(`Additional request parameters (query params, headers)`)}),Ht=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),uploadBinaryStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n}=t,r=n?n.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,i=t?L({...t,args:r},e):{},a={...i,customErrors:t?.customErrors},{baseUrl:o,url:s,method:c,response:l,authorization:u,binaryContent:d,args:f,customErrors:p}=Vt.parse(a),m=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,h=f?q(f):{query:{},body:{},headers:{}},g=W(O(u)?u:$.parse(m)),_=Buffer.from(d.content,`base64`),v={"content-type":d.contentType??`application/octet-stream`,...h?.headers??{},...g},y=e.connector?.rateLimit,b=e.connector?.concurrency,x=y!==void 0||b!==void 0?{rateLimits:y,concurrency:b}:void 0,S;try{S=await e.httpClient.request({url:`${o??``}${s}`,method:c,headers:v,queryParams:h?.query,payload:_,requestConfig:x,context:buildRequestContext(e)})}catch(t){let n=t;return{block:e,successful:!1,errors:[J(t)],output:{statusCode:n?.response?.status??500,message:n?.response?.message}}}let C=Y(S,p,e.credentials);return K(C?.status)?{block:e,successful:!1,errors:[J(new B(C,C.message))],output:{statusCode:C.status,message:C.message}}:{block:e,successful:!0,output:{data:Ut(l?.dataKey?C.data[l?.dataKey]:C.data,l),raw:C,statusCode:C?.status,message:C?.message}}},Ut=e((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Wt=M({fieldName:j.string().describe(`The form field name for the file`),content:j.string().describe(`The file content as base64 encoded string`),filename:j.string().describe(`The filename to use in the upload`),contentType:j.string().optional().describe(`The MIME type of the file (e.g., "image/png", "application/pdf")`)}),Gt=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z).default(`post`),authorization:$.optional(),file:Wt.describe(`The file to upload`),additionalFields:M({name:j.string(),value:j.unknown(),condition:j.string().optional(),contentType:j.string().optional().describe(`The MIME type for this form field (e.g., "application/json")`)}).array().optional().describe(`Additional form fields to include in the multipart request`),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional()}).optional(),customErrors:R.array().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional().describe(`Additional request parameters (query params, headers)`)}),Kt=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),uploadFileStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n,additionalFields:r}=t,i=n?n.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,o=t?L({...t,args:i,additionalFields:a},e):{},s={...o,customErrors:t?.customErrors},{baseUrl:c,url:l,method:u,response:d,authorization:f,file:p,additionalFields:m,args:h,customErrors:g}=Gt.parse(s),_=o?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,v=h?q(h):{query:{},body:{},headers:{}},y=W(O(f)?f:$.parse(_)),b=new fe;if(m)for(let e of m){let t=typeof e.value==`object`?JSON.stringify(e.value):String(e.value);b.append(e.name,t,e.contentType?{contentType:e.contentType}:void 0)}let x=Buffer.from(p.content,`base64`);b.append(p.fieldName,x,{filename:p.filename,contentType:p.contentType});let S={...b.getHeaders(),...v?.headers??{},...y},C=e.connector?.rateLimit,w=e.connector?.concurrency,T=C!==void 0||w!==void 0?{rateLimits:C,concurrency:w}:void 0,E;try{E=await e.httpClient.request({url:`${c??``}${l}`,method:u,headers:S,queryParams:v?.query,payload:b,requestConfig:T,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}let D=Y(E,g,e.credentials);return K(D?.status)?buildStepErrorOutput(new B(D,D.message),e):{block:e,successful:!0,output:{data:indexResponseData(d?.dataKey?D.data[d?.dataKey]:D.data,d),raw:D,statusCode:D?.status,message:D?.message}}},indexResponseData=(e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e};let qt=function(e){return e.TYPECAST=`typecast`,e.MAP_FIELDS=`map_fields`,e.GROUP_DATA=`group_data`,e.REQUEST=`request`,e.PAGINATED_REQUEST=`paginated_request`,e.SOAP_REQUEST=`soap_request`,e.SOAP_PAGINATED_REQUEST=`soap_paginated_request`,e.STATIC_VALUES=`static_values`,e.UPLOAD_FILE=`upload_file`,e.UPLOAD_BINARY=`upload_binary`,e.DOWNLOAD_FILE=`download_file`,e.EMIT_EVENT=`emit_event`,e.BROWSER_USE=`browser_use`,e.CODE_EXECUTION_LAMBDA=`code_execution_lambda`,e.SIGN_JWT=`sign_jwt`,e.MCP_REQUEST=`mcp_request`,e}({});const Jt={typecast:{v1:{fn:Rt},v2:{fn:typecastStepFunction,inputSchema:Ft,outputSchema:It}},map_fields:{v1:{fn:Qe},v2:{fn:mapFieldsStepFunction,inputSchema:nt,outputSchema:rt}},request:{v1:{fn:requestStepFunction,inputSchema:ht,outputSchema:gt}},group_data:{v1:{fn:groupDataStepFunction,inputSchema:Xe,outputSchema:Ze}},paginated_request:{v1:{fn:paginatedRequestStepFunction,inputSchema:dt,outputSchema:ft}},soap_request:{v1:{fn:soapRequestStepFunction,inputSchema:kt,outputSchema:At}},soap_paginated_request:{v1:{fn:soapPaginatedRequestStepFunction,inputSchema:Et,outputSchema:Dt}},static_values:{v1:{fn:staticValuesStepFunction,inputSchema:Mt,outputSchema:Nt}},upload_file:{v1:{fn:uploadFileStepFunction,inputSchema:Gt,outputSchema:Kt}},upload_binary:{v1:{fn:uploadBinaryStepFunction,inputSchema:Vt,outputSchema:Ht}},download_file:{v1:{fn:downloadFileStepFunction,inputSchema:Ke,outputSchema:qe}},emit_event:{v1:{fn:emitEventStepFunction,inputSchema:Je,outputSchema:Ye}},browser_use:{v1:{fn:browserUseStepFunction,inputSchema:je,outputSchema:Me}},code_execution_lambda:{v1:{fn:codeExecutionLambdaStepFunction,inputSchema:Ne,outputSchema:Pe}},sign_jwt:{v1:{fn:signJwtStepFunction,inputSchema:yt,outputSchema:bt}},mcp_request:{v1:{fn:mcpRequestStepFunction,inputSchema:st,outputSchema:ct}}},formatZodIssues=(e,t,n)=>e instanceof j.ZodError?e.issues.map(e=>({...e,kind:t,functionName:n})):[{kind:t,functionName:n,message:e?.message??`unknown error`}],stepFunctionEnhancedWithSchemasValidation=(e,t)=>async({block:n,params:r})=>{try{e.inputSchema&&e.inputSchema.parse(r)}catch(e){return{block:n,successful:!1,errors:formatZodIssues(e,`input_schema_validation`,t)}}let i=await e.fn({block:n,params:r});try{e.outputSchema&&e.outputSchema.parse(i.output)}catch(e){return{block:n,successful:!1,errors:formatZodIssues(e,`output_schema_validation`,t)}}return i},Yt={build({functionName:e,version:t=`1`,validateSchemas:n=!1,stepFunctionsList:r=Jt}){let i=r?.[e]?.[`v${t}`];if(!i)throw Error(`Unknown step function: ${e} v${t}`);return n?{...i,fn:stepFunctionEnhancedWithSchemasValidation(i,e)}:i}},isForeachStep=e=>`iterator`in e&&typeof e.iterator==`string`;export{$ as AUTHORIZATION_SCHEMA,Ae as AuthType,je as BROWSER_USE_INPUT_PARAMS,Me as BROWSER_USE_OUTPUT,ve as COMPOSITE_ID_LATEST_VERSION,Ce as ChangelogLabels,ye as CoreError,we as ExecutionModes,be as FORMAT_PATTERNS,xe as INPUT_ENUM_REGISTRY,st as MCP_REQUEST_INPUT_PARAMS,ct as MCP_REQUEST_OUTPUT,Se as ReleaseStages,De as SourceType,qt as StepFunctionName,Yt as StepFunctionsFactory,Jt as StepFunctionsRegistry,ke as StreamType,Oe as TransportType,areCursorsEqual,buildExpressionContext,computeDataSyncFingerprint,decodeCompositeId,encodeCompositeId,evaluateEventRouter,evaluateExternalAccountIdExtractor,expandCursor,getCategoryDetails,getInputEnumValues,getIteratorLocation,getPaginationKeys,isCompositeId,isCoreError,isCursorEmpty,isForeachStep,isValidCategory,isValidEnumRef,minifyCursor,stripIncrementalParams,stripPaginationParams,updateCursor};
|
|
3
|
+
-----END PRIVATE KEY-----`)},ht=e(e=>{let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},`isJexlExpression`),gt=e((e,t)=>{if(T(e)||typeof e!=`object`||!e)return e;let n=I(ht(t)?t:`$.${t}`,e);return n===void 0?e[t]:n},`resolveDataKey`),resolveFromHeaders=(e,t)=>{if(T(e)||typeof e!=`object`)return null;if(ht(t)){let n=I(t,e);return typeof n==`string`&&n!==``||typeof n==`number`?n:null}let n=t.toLowerCase(),[,r]=Object.entries(e).find(([e])=>e?.toLowerCase()===n)??[];if(Array.isArray(r)){let e=r.find(e=>typeof e==`string`&&e!==``||typeof e==`number`);return typeof e==`string`||typeof e==`number`?e:null}return typeof r==`string`&&r!==``||typeof r==`number`?r:null},resolveFromData=(e,t)=>{if(T(e)||typeof e!=`object`||!e)return null;let n=I(ht(t)?t:`$.${t}`,e);return T(n)?null:typeof n==`string`||typeof n==`number`||typeof n==`object`?n:null},preserveJexlResponseKeys=(e,t)=>{let{nextKey:n,dataKey:r}=e?.response??{},i=n&&ht(n),a=r&&ht(r);return!i&&!a?t:{...t??{},...i?{nextKey:n}:{},...a?{dataKey:r}:{}}},_t=j.object({baseUrl:j.string(),url:j.string(),method:j.enum(z),authorization:$.optional(),saml:M({objectKey:j.string(),key:j.string(),clientId:j.string(),cert:j.unknown().optional(),issuer:j.string().optional(),lifetime:j.number().optional(),nameId:j.string().optional(),audience:j.string().optional(),nameIdentifierFormat:j.string().optional(),tokenEndpoint:j.string().optional()}).optional(),response:M({indexField:j.string().optional(),dataKey:j.string().optional(),nextKey:j.string().optional(),nextKeyIn:j.enum([`data`,`headers`]).optional()}).optional(),iterator:M({key:j.string(),in:j.enum([`query`,`body`]),condition:j.string().optional(),mode:j.enum([`cursor`,`offset`,`page`]).optional(),startPage:j.number().int().min(0).max(2**53-1).optional(),maxPage:j.number().int().positive().max(1e4).optional()}).superRefine((e,t)=>{e.startPage!==void 0&&e.mode!==`page`&&t.addIssue({code:j.ZodIssueCode.custom,path:[`startPage`],message:`startPage is only valid when iterator.mode is "page"`}),e.maxPage!==void 0&&e.mode!==`page`&&t.addIssue({code:j.ZodIssueCode.custom,path:[`maxPage`],message:`maxPage is only valid when iterator.mode is "page"`});let n=e.maxPage??1e3;e.mode===`page`&&(e.startPage??1)>n&&t.addIssue({code:j.ZodIssueCode.custom,path:[`startPage`],message:`startPage must not exceed maxPage (${n})`})}),cursor:M({token:j.string().optional().nullable(),position:j.number().optional().nullable()}).optional(),customErrors:R.array().optional(),encodeQueryParams:j.boolean().optional(),cacheTTL:j.number().int().nonnegative().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}),vt=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional(),next:j.string().optional().nullable(),position:j.number().optional()}).optional(),paginatedRequestStepFunction=async({block:e,params:t})=>{let n=ne.build();if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:i}=t,a=Number(e.inputs?.page_size),o=Number.isNaN(a)?25:a,s=i?i.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,c=t?L({...t,args:s},e):{},l={...c,customErrors:t?.customErrors,iterator:{...c?.iterator??{},condition:t?.iterator?.condition},response:preserveJexlResponseKeys(t,c?.response)},u=l.authorization;if(O(u)){let t=$.safeParse(u);if(!t.success)return buildStepErrorOutput(Error(invalidStepAuthorizationMessage(t.error)),e)}let{baseUrl:d,url:f,method:p,response:m,authorization:h,iterator:g,cursor:_,customErrors:v,encodeQueryParams:y,args:b,saml:x,cacheTTL:S}=_t.parse(l),C=c?.authentication?.[e.context.authenticationType]?.[e.context.environment],w=C?.authorization,D=C?.certificates,ee=D?re(D):void 0,k=O(h)?h:$.parse(w);if(k.type===`none`&&O(k.signing))return buildStepErrorOutput(Error(`authorization.signing is not supported on paginated_request steps — every page changes the query string, so the signature would have to be recomputed per page; use a request step instead`),e);let A=b?q(b):{query:{},body:{},headers:{}},te=W(k),j={...A?.headers??{},...te},M=e.connector?.rateLimit,P=e.connector?.concurrency,F=M!==void 0||P!==void 0?{rateLimits:M,concurrency:P}:void 0,R=buildRequestContext(e),z=O(x)?{[x.objectKey]:await generateSamlAssertion({key:x.key,clientId:x.clientId,cert:x.cert,issuer:x.issuer,lifetime:x.lifetime,audience:x.audience,nameId:x.nameId,nameIdentifierFormat:x.nameIdentifierFormat,tokenEndpoint:x.tokenEndpoint})}:{},B=g.mode===`offset`,V=g.mode===`page`,H=g.maxPage??1e3,U=H+1,G=V?resolveInitialPage(_?.token,g.startPage??1):_?.token??null,K=null,J=null,Y=[],X=[],ie=[],ae=o,Z=_?.position??0,oe=!0,se=!0,Q=!0,ce=null;do{if(V&&Number(G)>U)return buildStepErrorOutput(maxPageExceededError(H,G),e);oe?oe=!1:B||(Z=0),G===null?B&&(g.in===`query`?A.query[g.key]=Z.toString():g.in===`body`&&(Array.isArray(A.body)||(A.body[g.key]=Z))):g.in===`query`?E(G)?Object.entries(G).forEach(([e,t])=>{A.query[`${g.key}[${e}]`]=t?.toString()??``}):A.query[g.key]=G.toString():g.in===`body`&&(Array.isArray(A.body)||(A.body[g.key]=G));let t;try{t=await n.performRequest({httpClient:e.httpClient,url:`${d}${f}`,queryParams:{...A?.query},encodeQueryParams:y,method:p,headers:{...j},body:Array.isArray(A?.body)?A.body:{...typeof A?.body==`string`?void 0:A?.body,...z},customErrorConfigs:v,requestConfig:F,httpsAgent:ee,credentials:e.credentials,context:R,cacheTTL:S})}catch(t){return buildStepErrorOutput(t,e)}if(K=G,X=m?.dataKey?gt(t.data,m.dataKey):t.data,!Array.isArray(X)){let n=V?` at page ${K}`:``,r=m?.dataKey?` at "${m.dataKey}"`:``,i=X===null?`null`:typeof X;e.logger?.warning({message:`Pagination stopped${n}: expected an array of records${r} but received ${i}; treating it as an empty page`}),ie.push(t),J=t?.status,se=!0;break}if(V){let t=r(X);if(t===ce){e.logger?.warning({message:`Pagination stopped at page ${K}: the provider returned the previous page again, so the page number is not advancing`}),se=!0;break}ce=t}if(V&&Number(K)>H&&X.length>0)return buildStepErrorOutput(maxPageExceededError(H,K),e);let i=B?X?.slice(0,ae):X?.slice(Z,Z+ae);ae-=i.length,Z+=i.length,ie.push(t),Y=Y.concat(i),J=t?.status,G=V?incrementPage(Number(K)):yt({result:t,response:m}),Q=O(g.condition)?I(g.condition,t.data)===!0:!0;let a=Z>=(X?.length??0),s=O(m?.nextKey),c=i.length===X.length&&ae===0;!B&&(s||V)&&a&&(Z=0,K=G),se=B?!Q||T(G)&&Y.length<o:V?a&&(!Q||Y.length<o):s?a&&(T(G)||!Q):!Q||T(G)&&Y.length<o||c}while((B||O(G))&&Q&&Y.length<o&&X?.length>0);let le=bt(Y,m),ue=se?void 0:K;return{block:e,successful:!0,output:{data:le,raw:ie,statusCode:J,next:V&&typeof ue==`number`?ue.toString():ue,position:se?void 0:Z}}},resolveInitialPage=(e,t)=>{let n=Number(e);return Number.isSafeInteger(n)&&n>=t?n:t},incrementPage=e=>e+1,maxPageExceededError=(e,t)=>Error(`Pagination exceeded iterator.maxPage (${e}) at page ${t}`),invalidStepAuthorizationMessage=e=>`step authorization is invalid, check its credential expressions resolve for this account: ${e.issues.map(e=>e.message).join(`; `)}`,yt=e(({result:e,response:t})=>{if(T(t?.nextKey))return null;let n=t?.nextKeyIn??`data`,r=t?.nextKey;return n===`headers`?resolveFromHeaders(e.headers,r):resolveFromData(e.data,r)},`resolveNextIterator`),bt=e((e,t)=>{if(t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),xt=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z),authorization:$.optional(),certificates:Ze,saml:M({objectKey:j.string(),key:j.string(),clientId:j.string(),cert:j.unknown().optional(),issuer:j.string().optional(),lifetime:j.number().optional(),nameId:j.string().optional(),audience:j.string().optional(),nameIdentifierFormat:j.string().optional(),tokenEndpoint:j.string().optional()}).optional(),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional()}).optional(),customErrors:R.array().optional(),encodeQueryParams:j.boolean().optional(),cacheTTL:j.number().int().nonnegative().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),inline:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}).superRefine((e,t)=>{let n=e.args??[],r=n.map((e,t)=>({arg:e,index:t})).filter(({arg:e})=>e.inline===!0),i=n.filter(e=>e.in===`body`).length;if(n.forEach((e,n)=>{e.inline===!0&&e.in!==`body`&&t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline is only valid when in is "body", got "${e.in}"`}),e.inline===!0&&e.spread&&t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with spread`})}),r.length>0&&i>1)for(let{arg:e,index:n}of r)t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: an inline body arg must be the only "in: body" arg, found ${i}; arg conditions are not considered`});if(r.length>0&&e.saml!==void 0)for(let{arg:e,index:n}of r)t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with the saml parameter`});if(r.length>0&&e.cacheTTL!==void 0&&e.cacheTTL>0)for(let{arg:e,index:n}of r)t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`inline`],message:`args.${e.name}: inline cannot be combined with a nonzero cacheTTL`});for(let{arg:e,index:n}of r)typeof e.value==`string`?e.value.length===0&&t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`value`],message:`args.${e.name}: inline value must be a non-empty string, got an empty string`}):t.addIssue({code:j.ZodIssueCode.custom,path:[`args`,n,`value`],message:`args.${e.name}: inline value must be a non-empty string, got ${typeof e.value}`})}),St=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),isJexlExpression=e=>{let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},isErrorWithResponseBody=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`&&`body`in e.response,isErrorWithResponseConfigData=e=>typeof e==`object`&&!!e&&`response`in e&&e.response!=null&&typeof e.response==`object`&&`config`in e.response&&e.response.config!=null&&typeof e.response.config==`object`&&`data`in e.response.config,requestStepFunction=async({block:e,params:t})=>{let n=ne.build();if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?.response?.dataKey,o=a&&isJexlExpression(a),s=t?L({...t,args:i},e):{},c={...s,customErrors:t?.customErrors,response:o?{...s?.response??{},dataKey:a}:s?.response},{baseUrl:l,url:u,method:d,response:f,authorization:p,certificates:m,customErrors:h,encodeQueryParams:g,args:_,saml:v,cacheTTL:y}=xt.parse(c),b=s?.authentication?.[e.context.authenticationType]?.[e.context.environment],x=b?.authorization,S=m??b?.certificates,C=S?re(S):void 0,w=_?q(_):{query:{},body:{},headers:{}},T=_?.some(e=>e.in===`body`&&e.inline===!0)??!1,E=O(p)?p:$.parse(x),D=W(E),ee={...w?.headers??{},...D},k=e.connector?.rateLimit,A=e.connector?.concurrency,te=k!==void 0||A!==void 0?{rateLimits:k,concurrency:A}:void 0,j=O(v)?{[v.objectKey]:await generateSamlAssertion({key:v.key,clientId:v.clientId,cert:v.cert,issuer:v.issuer,lifetime:v.lifetime,audience:v.audience,nameId:v.nameId,nameIdentifierFormat:v.nameIdentifierFormat,tokenEndpoint:v.tokenEndpoint})}:{},M=typeof w?.body==`string`||Array.isArray(w?.body)?w?.body:{...w?.body,...j};if(E.type===`none`&&E.signing?.strategy){if(g===!1)return buildStepErrorOutput(Error(`encodeQueryParams: false is not supported when a request signing strategy is configured — signed canonical would not match the wire query`),e);let t=E.signing,n=e.credentials??{};try{let e=G(t.strategy);if(!e)throw Error(`Signing strategy "${t.strategy}" is not registered`);let r=e({method:d,url:`${l}${u}`,headers:ee,query:w?.query??{},body:M},n,t);Object.assign(ee,r)}catch(t){return buildStepErrorOutput(t,e)}}let P;try{P=await n.performRequest({httpClient:e.httpClient,url:`${l}${u}`,queryParams:w?.query,encodeQueryParams:g,method:d,headers:ee,body:M,customErrorConfigs:h,requestConfig:te,httpsAgent:C,credentials:e.credentials,context:buildRequestContext(e),cacheTTL:y})}catch(t){return T&&(isErrorWithResponseBody(t)&&(t.response.body=Q),isErrorWithResponseConfigData(t)&&(t.response.config.data=Q)),buildStepErrorOutput(t,e)}return{block:e,successful:!0,output:{data:Ct(f?.dataKey?resolveDataKey(P.data,f.dataKey):P.data,f),raw:T&&P&&`body`in P?{...P,body:Q}:P,statusCode:P?.status,message:P?.message}}},resolveDataKey=(e,t)=>{if(T(e)||typeof e!=`object`||!e)return e;let n=I(isJexlExpression(t)?t:`$.${t}`,e);return n===void 0?e[t]:n},Ct=e((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),wt=j.union([j.string(),j.number()]),Tt=M({algorithm:j.literal(`RS256`),privateKey:j.string(),claims:j.record(j.string(),wt)}),Et=M({token:j.string(),expiresIn:j.number(),publicKeyFingerprint:j.string()}),computePublicKeyFingerprint=e=>{let t=e.export({format:`der`,type:`spki`});return`SHA256:${ce(`sha256`).update(t).digest(`base64`)}`},Dt=/^now$/,Ot=/^now\+(?<amount>\d+)(?<unit>[smh])$/,kt=`{publicKeyFingerprint}`,At={s:1,m:60,h:3600},jt=new Set([`iat`,`exp`,`nbf`]),resolveClaimValue=(e,t,{now:n,publicKeyFingerprint:r})=>{if(typeof t==`number`)return t;let i=t.includes(kt)?t.split(kt).join(r):t;if(!jt.has(e))return i;if(Dt.test(i))return n;let a=i.match(Ot);return a?.groups?n+Number(a.groups.amount)*At[a.groups.unit]:i},signJwtStepFunction=async({block:e,params:t})=>{try{let n=t?L(t,e):void 0,{algorithm:r,privateKey:i,claims:a}=Tt.parse(n),o=le(i),s=computePublicKeyFingerprint(ue(o)),c=Math.floor(Date.now()/1e3),l={};for(let[e,t]of Object.entries(a))l[e]=resolveClaimValue(e,t,{now:c,publicKeyFingerprint:s});let{iat:u,exp:d}=l;if(typeof u!=`number`||typeof d!=`number`)throw Error(`signJwt requires numeric 'iat' and 'exp' claims (use 'now' / 'now+<N>s|m|h' tokens, or pass numbers directly)`);if(d<=u)throw Error(`signJwt requires 'exp' to be greater than 'iat'`);let f=await new de(l).setProtectedHeader({alg:r}).sign(o);return{block:{...e},successful:!0,output:{token:f,expiresIn:d-u,publicKeyFingerprint:s}}}catch(t){return buildStepErrorOutput(t,e)}},Mt=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z),authorization:j.discriminatedUnion(`type`,[M({type:j.literal(`none`)}),M({type:j.literal(`basic`),username:j.string().optional(),password:j.string().optional(),encoding:j.string().optional()}),M({type:j.literal(`bearer`),token:j.string(),includeBearer:j.boolean().optional().default(!0)}),M({type:j.literal(`oauth2`),token:j.string(),includeBearer:j.boolean().optional().default(!0)})]).optional(),envelope:j.union([j.string(),j.record(j.string(),j.unknown())]).optional(),namespaces:j.strictObject({namespaceIdentifier:j.string(),namespace:j.string()}).array().optional(),soapOperation:j.string().optional(),soapAction:j.string().optional(),useSoapContext:j.boolean().optional().default(!0),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional(),nextKey:j.string().optional(),nextKeyIn:j.enum([`data`,`headers`]).optional()}).optional(),iterator:M({key:j.string(),in:j.enum([`query`,`body`])}),cursor:M({token:j.string().optional().nullable(),position:j.number().optional().nullable()}).optional(),customErrors:R.array().optional(),encodeQueryParams:j.boolean().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}),Nt=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional(),next:j.string().optional().nullable(),position:j.number().optional()}).optional(),soapPaginatedRequestStepFunction=async({block:e,params:t})=>{let n=ne.build(`soap`);if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=Number(e.inputs?.page_size),a=Number.isNaN(i)?25:i,o=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,s=t?L({...t,args:o},e):{},c={...s,customErrors:t?.customErrors,response:preserveJexlResponseKeys(t,s?.response)},l=t?.envelope,{baseUrl:u,url:d,method:f,response:p,iterator:m,cursor:h,authorization:g,customErrors:_,encodeQueryParams:v,args:y,soapOperation:b,namespaces:x,soapAction:S,useSoapContext:C}=Mt.parse(c),w=s?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,E=y?q(y):{query:{},body:{},headers:{}},D=W(O(g)?g:$.parse(w)),ee={...E?.headers??{},...D},k=e.connector?.rateLimit,A=e.connector?.concurrency,te={...k!==void 0||A!==void 0?{rateLimits:k,concurrency:A}:void 0,soapOperation:b,namespaces:x,soapAction:S,soapContext:C?{username:e.credentials?.username,password:e.credentials?.password}:void 0},j=h?.token??null,M=null,P=null,F=[],I=[],R=[],z=a,B=h?.position??0,V=!0,H;do{V?V=!1:B=0,j!==null&&(m.in===`query`?E.query[m.key]=j.toString():m.in===`body`&&(E.body[m.key]=j));let t;try{t=await n.performRequest({httpClient:e.httpClient,url:`${u}${d}`,queryParams:{...E?.query},encodeQueryParams:v,method:f,headers:ee,body:E?.body,customErrorConfigs:_,requestConfig:{...te,...O(l)&&{envelope:evaluateEnvelope(l,e,j)}},credentials:e.credentials,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}M=j,I=p?.dataKey?gt(t.data,p.dataKey):t.data,Array.isArray(I)||(I=I?[I]:[]);let r=I?.slice(B,B+z);z-=r.length,B+=r.length,R.push(t),F=F.concat(r),P=t?.status,j=resolveNextIterator({result:t,response:p});let i=B>=(I?.length??0),o=O(p?.nextKey),s=r.length===I.length&&z===0;o&&i&&(B=0,M=j),H=o?i&&T(j):T(j)&&F.length<a||s}while(O(j)&&F.length<a&&I?.length>0);return{block:e,successful:!0,output:{data:Pt(F,p),raw:R,statusCode:P,next:H?void 0:stringifyCursorToken(M),position:H?void 0:B}}},stringifyCursorToken=e=>e===null?null:String(e),evaluateEnvelope=(e,t,n)=>{let r={...t,pageIterator:n};return typeof e==`string`?I(e,r):L(e,r)},resolveNextIterator=({result:e,response:t})=>{if(T(t?.nextKey))return null;let n=t?.nextKeyIn??`data`,r=t?.nextKey,i=n===`headers`?resolveFromHeaders(e.headers,r):resolveFromData(e.data,r);return typeof i==`string`||typeof i==`number`?i:null},Pt=e((e,t)=>{if(t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Ft=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z),authorization:$.optional(),envelope:j.union([j.string(),j.record(j.string(),j.unknown())]).optional(),namespaces:j.strictObject({namespaceIdentifier:j.string(),namespace:j.string()}).array().optional(),soapOperation:j.string().optional(),soapAction:j.string().optional(),useSoapContext:j.boolean().optional().default(!0),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional()}).optional(),customErrors:R.array().optional(),encodeQueryParams:j.boolean().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional()}),It=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),soapRequestStepFunction=async({block:e,params:t})=>{let n=ne.build(`soap`);if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:r}=t,i=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=t?L({...t,args:i},e):{},o={...a,customErrors:t?.customErrors},{baseUrl:s,url:c,method:l,response:u,authorization:d,customErrors:f,encodeQueryParams:p,args:m,soapOperation:h,namespaces:g,envelope:_,soapAction:v,useSoapContext:y}=Ft.parse(o),b=a?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,x=m?q(m):{query:{},body:{},headers:{}},S=W(O(d)?d:$.parse(b)),C={...x?.headers??{},...S},w=e.connector?.rateLimit,T=e.connector?.concurrency,E={...w!==void 0||T!==void 0?{rateLimits:w,concurrency:T}:void 0,soapOperation:h,namespaces:g,envelope:_,soapAction:v,soapContext:y?{username:e.credentials?.username,password:e.credentials?.password}:void 0},D;try{D=await n.performRequest({httpClient:e.httpClient,url:`${s}${c}`,queryParams:x?.query,encodeQueryParams:p,method:l,headers:C,body:x?.body,customErrorConfigs:f,requestConfig:E,credentials:e.credentials,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}return{block:e,successful:!0,output:{data:Lt(u?.dataKey?D.data[u?.dataKey]:D.data,u),raw:D,statusCode:D?.status,message:D?.message}}},Lt=e((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Rt=j.object({values:j.string().or(j.record(j.string(),j.unknown())).or(j.array(j.unknown()))}),zt=j.object({data:j.unknown()}),staticValuesStepFunction=async({block:e,params:t})=>{let{values:n}=Rt.parse(t),r=Array.isArray(n)?n.map(t=>evaluateValue(t,e)):evaluateValue(n,e);return{block:{...e},successful:!0,output:{data:r}}},evaluateValue=(e,t)=>D(e)?I(e,t):E(e)?L(e,t):e,Bt=j.object({targetFieldKey:j.string(),type:j.enum([`string`,`number`,`boolean`,`datetime_string`,`enum`,`object`]),array:j.boolean().default(!1),custom:j.boolean().default(!1),hidden:j.boolean().default(!1),properties:j.lazy(()=>Bt).array().optional(),requiredScopes:j.string().array().optional()}),Vt=j.object({fields:Bt.array().optional(),dataSource:j.string()}),Ht=j.object({data:j.unknown()});let Ut=function(e){return e.String=`string`,e.Number=`number`,e.Boolean=`boolean`,e.DateTimeString=`datetime_string`,e}({});const typecast=({value:e,type:t,format:n})=>{if(T(e))return null;switch(t){case`string`:return te({value:e});case`number`:return A({value:e});case`boolean`:return ee({value:e});case`datetime_string`:return k({value:e,format:n});default:return e}},isFieldSupportedType=e=>Object.values(Ut).includes(e),Wt=e(async({block:e})=>{let t=e?.fieldConfigs;if(!t||e?.debug?.custom_mappings===`disabled`)return{block:e,successful:!0};let n;return n=Array.isArray(e.result)?e.result.map(e=>Gt(e,t)):Gt(e.result,t),{block:{...e,result:n},successful:!0}},`typecastStepFunction`),Gt=e((e,t)=>{let n={...e};return t.forEach(t=>{let{targetFieldKey:r,type:i}=t;isFieldSupportedType(i)&&(!t.custom&&O(n[r])?n[r]=typecast({value:e[r],type:i}):n.unified_custom_fields&&O(n.unified_custom_fields?.[r])&&(n.unified_custom_fields[r]=typecast({value:e.unified_custom_fields?.[r],type:i})))}),{...n}},`mapSingleRecord`),typecastStepFunction=async({block:e,params:t})=>{let{fields:n,dataSource:r}=Vt.parse(t),i=N(r,buildExpressionContext(e));if(!n||e?.debug?.custom_mappings===`disabled`)return{block:e,successful:!0};let a;return a=Array.isArray(i)?i.map(e=>mapSingleRecord(e,n)):mapSingleRecord(i,n),{block:{...e},successful:!0,output:{data:a}}},handleObjectField=(e,t)=>!e.properties||!t?t:Array.isArray(t)?t.map(t=>typeof t==`object`&&t?mapSingleRecord(t,e.properties):t):typeof t==`object`&&t?mapSingleRecord(t,e.properties):t,mapSingleRecord=(e,t)=>{let n={...e};return t.forEach(t=>{let{targetFieldKey:r,type:i,array:a}=t;i===`object`?!t.custom&&O(n[r])?n[r]=handleObjectField(t,e[r]):n.unified_custom_fields&&O(n.unified_custom_fields?.[r])&&(n.unified_custom_fields[r]=handleObjectField(t,e.unified_custom_fields?.[r])):isFieldSupportedType(i)&&(!t.custom&&O(n[r])?(!a||!Array.isArray(n[r]))&&(n[r]=typecast({value:e[r],type:i})):n.unified_custom_fields&&O(n.unified_custom_fields?.[r])&&(!a||!Array.isArray(n.unified_custom_fields[r]))&&(n.unified_custom_fields[r]=typecast({value:e.unified_custom_fields?.[r],type:i})))}),{...n}},Kt=M({content:j.string().describe(`The file content as base64 encoded string`),contentType:j.string().optional().describe(`The MIME type for the binary content (defaults to application/octet-stream)`)}),qt=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z).default(`post`),authorization:$.optional(),binaryContent:Kt.describe(`Raw binary content for octet-stream uploads`),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional()}).optional(),customErrors:R.array().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional().describe(`Additional request parameters (query params, headers)`)}),Jt=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),uploadBinaryStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n}=t,r=n?n.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,i=t?L({...t,args:r},e):{},a={...i,customErrors:t?.customErrors},{baseUrl:o,url:s,method:c,response:l,authorization:u,binaryContent:d,args:f,customErrors:p}=qt.parse(a),m=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,h=f?q(f):{query:{},body:{},headers:{}},g=W(O(u)?u:$.parse(m)),_=Buffer.from(d.content,`base64`),v={"content-type":d.contentType??`application/octet-stream`,...h?.headers??{},...g},y=e.connector?.rateLimit,b=e.connector?.concurrency,x=y!==void 0||b!==void 0?{rateLimits:y,concurrency:b}:void 0,S;try{S=await e.httpClient.request({url:`${o??``}${s}`,method:c,headers:v,queryParams:h?.query,payload:_,requestConfig:x,context:buildRequestContext(e)})}catch(t){let n=t;return{block:e,successful:!1,errors:[J(t)],output:{statusCode:n?.response?.status??500,message:n?.response?.message}}}let C=Y(S,p,e.credentials);return K(C?.status)?{block:e,successful:!1,errors:[J(new B(C,C.message))],output:{statusCode:C.status,message:C.message}}:{block:e,successful:!0,output:{data:Yt(l?.dataKey?C.data[l?.dataKey]:C.data,l),raw:C,statusCode:C?.status,message:C?.message}}},Yt=e((e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e},`indexResponseData`),Xt=M({fieldName:j.string().describe(`The form field name for the file`),content:j.string().describe(`The file content as base64 encoded string`),filename:j.string().describe(`The filename to use in the upload`),contentType:j.string().optional().describe(`The MIME type of the file (e.g., "image/png", "application/pdf")`)}),Zt=j.object({baseUrl:j.string().optional(),url:j.string(),method:j.enum(z).default(`post`),authorization:$.optional(),file:Xt.describe(`The file to upload`),additionalFields:M({name:j.string(),value:j.unknown(),condition:j.string().optional(),contentType:j.string().optional().describe(`The MIME type for this form field (e.g., "application/json")`)}).array().optional().describe(`Additional form fields to include in the multipart request`),response:M({collection:j.boolean().optional(),indexField:j.string().optional(),dataKey:j.string().optional()}).optional(),customErrors:R.array().optional(),args:M({name:j.string(),value:j.unknown(),in:j.enum(U),spread:j.boolean().optional(),condition:j.string().optional(),arrayFormat:j.enum(H).optional()}).array().optional().describe(`Additional request parameters (query params, headers)`)}),Qt=M({data:j.unknown().optional(),raw:j.unknown().optional(),statusCode:j.number(),message:j.string().optional()}).optional(),uploadFileStepFunction=async({block:e,params:t})=>{if(!e.httpClient)throw Error(`HTTP client is not configured`);let{args:n,additionalFields:r}=t,i=n?n.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,a=r?r.filter(t=>!t.condition||N(t.condition,e)===!0).map(e=>({...e,condition:void 0})):void 0,o=t?L({...t,args:i,additionalFields:a},e):{},s={...o,customErrors:t?.customErrors},{baseUrl:c,url:l,method:u,response:d,authorization:f,file:p,additionalFields:m,args:h,customErrors:g}=Zt.parse(s),_=o?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,v=h?q(h):{query:{},body:{},headers:{}},y=W(O(f)?f:$.parse(_)),b=new fe;if(m)for(let e of m){let t=typeof e.value==`object`?JSON.stringify(e.value):String(e.value);b.append(e.name,t,e.contentType?{contentType:e.contentType}:void 0)}let x=Buffer.from(p.content,`base64`);b.append(p.fieldName,x,{filename:p.filename,contentType:p.contentType});let S={...b.getHeaders(),...v?.headers??{},...y},C=e.connector?.rateLimit,w=e.connector?.concurrency,T=C!==void 0||w!==void 0?{rateLimits:C,concurrency:w}:void 0,E;try{E=await e.httpClient.request({url:`${c??``}${l}`,method:u,headers:S,queryParams:v?.query,payload:b,requestConfig:T,context:buildRequestContext(e)})}catch(t){return buildStepErrorOutput(t,e)}let D=Y(E,g,e.credentials);return K(D?.status)?buildStepErrorOutput(new B(D,D.message),e):{block:e,successful:!0,output:{data:indexResponseData(d?.dataKey?D.data[d?.dataKey]:D.data,d),raw:D,statusCode:D?.status,message:D?.message}}},indexResponseData=(e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce((e,n)=>{let r=t.indexField;return r&&n[r]&&(e[n[r]]=n),e},{});if(!t?.collection&&t?.indexField){let n=t.indexField;return n&&e[n]?{[e[n]]:e}:e}return e};let $t=function(e){return e.TYPECAST=`typecast`,e.MAP_FIELDS=`map_fields`,e.GROUP_DATA=`group_data`,e.REQUEST=`request`,e.PAGINATED_REQUEST=`paginated_request`,e.SOAP_REQUEST=`soap_request`,e.SOAP_PAGINATED_REQUEST=`soap_paginated_request`,e.STATIC_VALUES=`static_values`,e.UPLOAD_FILE=`upload_file`,e.UPLOAD_BINARY=`upload_binary`,e.DOWNLOAD_FILE=`download_file`,e.EMIT_EVENT=`emit_event`,e.BROWSER_USE=`browser_use`,e.CODE_EXECUTION_LAMBDA=`code_execution_lambda`,e.SIGN_JWT=`sign_jwt`,e.MCP_REQUEST=`mcp_request`,e}({});const en={typecast:{v1:{fn:Wt},v2:{fn:typecastStepFunction,inputSchema:Vt,outputSchema:Ht}},map_fields:{v1:{fn:it},v2:{fn:mapFieldsStepFunction,inputSchema:ct,outputSchema:lt}},request:{v1:{fn:requestStepFunction,inputSchema:xt,outputSchema:St}},group_data:{v1:{fn:groupDataStepFunction,inputSchema:nt,outputSchema:rt}},paginated_request:{v1:{fn:paginatedRequestStepFunction,inputSchema:_t,outputSchema:vt}},soap_request:{v1:{fn:soapRequestStepFunction,inputSchema:Ft,outputSchema:It}},soap_paginated_request:{v1:{fn:soapPaginatedRequestStepFunction,inputSchema:Mt,outputSchema:Nt}},static_values:{v1:{fn:staticValuesStepFunction,inputSchema:Rt,outputSchema:zt}},upload_file:{v1:{fn:uploadFileStepFunction,inputSchema:Zt,outputSchema:Qt}},upload_binary:{v1:{fn:uploadBinaryStepFunction,inputSchema:qt,outputSchema:Jt}},download_file:{v1:{fn:downloadFileStepFunction,inputSchema:Qe,outputSchema:$e}},emit_event:{v1:{fn:emitEventStepFunction,inputSchema:et,outputSchema:tt}},browser_use:{v1:{fn:browserUseStepFunction,inputSchema:Le,outputSchema:Re}},code_execution_lambda:{v1:{fn:codeExecutionLambdaStepFunction,inputSchema:ze,outputSchema:Be}},sign_jwt:{v1:{fn:signJwtStepFunction,inputSchema:Tt,outputSchema:Et}},mcp_request:{v1:{fn:mcpRequestStepFunction,inputSchema:pt,outputSchema:mt}}},formatZodIssues=(e,t,n)=>e instanceof j.ZodError?e.issues.map(e=>({...e,kind:t,functionName:n})):[{kind:t,functionName:n,message:e?.message??`unknown error`}],stepFunctionEnhancedWithSchemasValidation=(e,t)=>async({block:n,params:r})=>{try{e.inputSchema&&e.inputSchema.parse(r)}catch(e){return{block:n,successful:!1,errors:formatZodIssues(e,`input_schema_validation`,t)}}let i=await e.fn({block:n,params:r});try{e.outputSchema&&e.outputSchema.parse(i.output)}catch(e){return{block:n,successful:!1,errors:formatZodIssues(e,`output_schema_validation`,t)}}return i},tn={build({functionName:e,version:t=`1`,validateSchemas:n=!1,stepFunctionsList:r=en}){let i=r?.[e]?.[`v${t}`];if(!i)throw Error(`Unknown step function: ${e} v${t}`);return n?{...i,fn:stepFunctionEnhancedWithSchemasValidation(i,e)}:i}},isForeachStep=e=>`iterator`in e&&typeof e.iterator==`string`;export{$ as AUTHORIZATION_SCHEMA,we as ActionTypes,Ie as AuthType,Le as BROWSER_USE_INPUT_PARAMS,Re as BROWSER_USE_OUTPUT,ve as COMPOSITE_ID_LATEST_VERSION,Ce as ChangelogLabels,ye as CoreError,Te as Effects,Ae as ExecutionModes,be as FORMAT_PATTERNS,xe as INPUT_ENUM_REGISTRY,Oe as InputFormats,De as InputLocations,ke as InputTypes,pt as MCP_REQUEST_INPUT_PARAMS,mt as MCP_REQUEST_OUTPUT,Se as ReleaseStages,Ee as SchemaTypes,Ne as SourceType,$t as StepFunctionName,tn as StepFunctionsFactory,en as StepFunctionsRegistry,Fe as StreamType,Pe as TransportType,areCursorsEqual,buildExpressionContext,computeDataSyncFingerprint,decodeCompositeId,encodeCompositeId,evaluateEventRouter,evaluateExternalAccountIdExtractor,expandCursor,getCategoryDetails,getInputEnumValues,getIteratorLocation,getPaginationKeys,isCompositeId,isCoreError,isCursorEmpty,isForeachStep,isValidCategory,isValidEnumRef,minifyCursor,stripIncrementalParams,stripPaginationParams,updateCursor};
|