/* * 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 { safeParse } from "../../lib/schemas.js"; import * as openEnums from "../../types/enums.js"; import { OpenEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export const JarmScanTransportProtocol = { Unknown: "", Tcp: "tcp", Udp: "udp", Icmp: "icmp", Quic: "quic", } as const; export type JarmScanTransportProtocol = OpenEnum< typeof JarmScanTransportProtocol >; export type JarmScan = { /** * The first 30 character portion of the Jarm fingerprint. */ cipherAndVersionFingerprint?: string | undefined; /** * The 62 character Jarm fingerprint of the service. */ fingerprint?: string | undefined; hostname?: string | undefined; ip?: string | undefined; isSuccess?: boolean | undefined; port?: number | undefined; /** * The time the service was fingerprinted */ scanTime?: string | undefined; /** * The second 32 character portion of the Jarm fingerprint */ tlsExtensionsSha256?: string | undefined; transportProtocol?: JarmScanTransportProtocol | undefined; }; /** @internal */ export const JarmScanTransportProtocol$inboundSchema: z.ZodType< JarmScanTransportProtocol, z.ZodTypeDef, unknown > = openEnums.inboundSchema(JarmScanTransportProtocol); /** @internal */ export const JarmScan$inboundSchema: z.ZodType< JarmScan, z.ZodTypeDef, unknown > = z.object({ cipher_and_version_fingerprint: z.string().optional(), fingerprint: z.string().optional(), hostname: z.string().optional(), ip: z.string().optional(), is_success: z.boolean().optional(), port: z.number().int().optional(), scan_time: z.string().optional(), tls_extensions_sha256: z.string().optional(), transport_protocol: JarmScanTransportProtocol$inboundSchema.optional(), }).transform((v) => { return remap$(v, { "cipher_and_version_fingerprint": "cipherAndVersionFingerprint", "is_success": "isSuccess", "scan_time": "scanTime", "tls_extensions_sha256": "tlsExtensionsSha256", "transport_protocol": "transportProtocol", }); }); export function jarmScanFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => JarmScan$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JarmScan' from JSON`, ); }