/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { collectExtraKeys as collectExtraKeys$, safeParse, } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { HttpMethodEnum, HttpMethodEnum$inboundSchema, } from "./httpmethodenum.js"; import { HttpRequestControlsMetadataResponseDto, HttpRequestControlsMetadataResponseDto$inboundSchema, } from "./httprequestcontrolsmetadataresponsedto.js"; import { HttpRequestKeyValuePairDto, HttpRequestKeyValuePairDto$inboundSchema, } from "./httprequestkeyvaluepairdto.js"; import { ResourceOriginEnum, ResourceOriginEnum$inboundSchema, } from "./resourceoriginenum.js"; import { StepIssuesDto, StepIssuesDto$inboundSchema } from "./stepissuesdto.js"; /** * Request body as a raw JSON string. Key-value arrays are supported for legacy workflows. */ export type HttpRequestStepResponseDtoBody = | string | Array; /** * Control values for the HTTP request step */ export type HttpRequestStepResponseDtoControlValues = { /** * HTTP method */ method: HttpMethodEnum; /** * Target URL for the HTTP request */ url: string; /** * Request headers as key-value pairs */ headers?: Array | undefined; /** * Request body as a raw JSON string. Key-value arrays are supported for legacy workflows. */ body?: string | Array | undefined; /** * JSON schema to validate response body against */ responseBodySchema?: { [k: string]: any } | undefined; /** * Whether to enforce response body schema validation */ enforceSchemaValidation?: boolean | undefined; /** * Whether to continue workflow execution on failure */ continueOnFailure?: boolean | undefined; additionalProperties?: { [k: string]: any } | undefined; }; export type HttpRequestStepResponseDto = { /** * Controls metadata for the HTTP request step */ controls: HttpRequestControlsMetadataResponseDto; /** * Control values for the HTTP request step */ controlValues?: HttpRequestStepResponseDtoControlValues | undefined; /** * JSON Schema for variables, follows the JSON Schema standard */ variables: { [k: string]: any }; /** * Unique identifier of the step */ stepId: string; /** * Database identifier of the step */ id: string; /** * Name of the step */ name: string; /** * Slug of the step */ slug: string; /** * Type of the step */ type: "http_request"; /** * Origin of the layout */ origin: ResourceOriginEnum; /** * Workflow identifier */ workflowId: string; /** * Workflow database identifier */ workflowDatabaseId: string; /** * Issues associated with the step */ issues?: StepIssuesDto | undefined; /** * Hash identifying the deployed Cloudflare Worker for this step */ stepResolverHash?: string | undefined; }; /** @internal */ export const HttpRequestStepResponseDtoBody$inboundSchema: z.ZodType< HttpRequestStepResponseDtoBody, z.ZodTypeDef, unknown > = z.union([z.string(), z.array(HttpRequestKeyValuePairDto$inboundSchema)]); export function httpRequestStepResponseDtoBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => HttpRequestStepResponseDtoBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'HttpRequestStepResponseDtoBody' from JSON`, ); } /** @internal */ export const HttpRequestStepResponseDtoControlValues$inboundSchema: z.ZodType< HttpRequestStepResponseDtoControlValues, z.ZodTypeDef, unknown > = collectExtraKeys$( z.object({ method: HttpMethodEnum$inboundSchema, url: z.string(), headers: z.array(HttpRequestKeyValuePairDto$inboundSchema).optional(), body: z.union([ z.string(), z.array(HttpRequestKeyValuePairDto$inboundSchema), ]).optional(), responseBodySchema: z.record(z.any()).optional(), enforceSchemaValidation: z.boolean().optional(), continueOnFailure: z.boolean().optional(), }).catchall(z.any()), "additionalProperties", true, ); export function httpRequestStepResponseDtoControlValuesFromJSON( jsonString: string, ): SafeParseResult< HttpRequestStepResponseDtoControlValues, SDKValidationError > { return safeParse( jsonString, (x) => HttpRequestStepResponseDtoControlValues$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'HttpRequestStepResponseDtoControlValues' from JSON`, ); } /** @internal */ export const HttpRequestStepResponseDto$inboundSchema: z.ZodType< HttpRequestStepResponseDto, z.ZodTypeDef, unknown > = z.object({ controls: HttpRequestControlsMetadataResponseDto$inboundSchema, controlValues: z.lazy(() => HttpRequestStepResponseDtoControlValues$inboundSchema ).optional(), variables: z.record(z.any()), stepId: z.string(), _id: z.string(), name: z.string(), slug: z.string(), type: z.literal("http_request"), origin: ResourceOriginEnum$inboundSchema, workflowId: z.string(), workflowDatabaseId: z.string(), issues: StepIssuesDto$inboundSchema.optional(), stepResolverHash: z.string().optional(), }).transform((v) => { return remap$(v, { "_id": "id", }); }); export function httpRequestStepResponseDtoFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => HttpRequestStepResponseDto$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'HttpRequestStepResponseDto' from JSON`, ); }