/* * 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 { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { MCPAllowedTools, MCPAllowedTools$inboundSchema, MCPAllowedTools$Outbound, MCPAllowedTools$outboundSchema, } from "./mcpallowedtools.js"; import { MCPRequireApproval, MCPRequireApproval$inboundSchema, MCPRequireApproval$outboundSchema, } from "./mcprequireapproval.js"; export type McpServer = { id: string; object: "mcp.server"; name: string; serverLabel: string; serverUrl: string; serverDescription: string | null; allowedTools: MCPAllowedTools | null; requireApproval: MCPRequireApproval; metadata: { [k: string]: any }; createdAt: Date; updatedAt: Date; }; /** @internal */ export const McpServer$inboundSchema: z.ZodType< McpServer, z.ZodTypeDef, unknown > = z.object({ id: z.string(), object: z.literal("mcp.server"), name: z.string(), server_label: z.string(), server_url: z.string(), server_description: z.nullable(z.string()), allowed_tools: z.nullable(MCPAllowedTools$inboundSchema), require_approval: MCPRequireApproval$inboundSchema, metadata: z.record(z.any()), created_at: z.string().datetime({ offset: true }).transform(v => new Date(v)), updated_at: z.string().datetime({ offset: true }).transform(v => new Date(v)), }).transform((v) => { return remap$(v, { "server_label": "serverLabel", "server_url": "serverUrl", "server_description": "serverDescription", "allowed_tools": "allowedTools", "require_approval": "requireApproval", "created_at": "createdAt", "updated_at": "updatedAt", }); }); /** @internal */ export type McpServer$Outbound = { id: string; object: "mcp.server"; name: string; server_label: string; server_url: string; server_description: string | null; allowed_tools: MCPAllowedTools$Outbound | null; require_approval: string; metadata: { [k: string]: any }; created_at: string; updated_at: string; }; /** @internal */ export const McpServer$outboundSchema: z.ZodType< McpServer$Outbound, z.ZodTypeDef, McpServer > = z.object({ id: z.string(), object: z.literal("mcp.server"), name: z.string(), serverLabel: z.string(), serverUrl: z.string(), serverDescription: z.nullable(z.string()), allowedTools: z.nullable(MCPAllowedTools$outboundSchema), requireApproval: MCPRequireApproval$outboundSchema, metadata: z.record(z.any()), createdAt: z.date().transform(v => v.toISOString()), updatedAt: z.date().transform(v => v.toISOString()), }).transform((v) => { return remap$(v, { serverLabel: "server_label", serverUrl: "server_url", serverDescription: "server_description", allowedTools: "allowed_tools", requireApproval: "require_approval", createdAt: "created_at", updatedAt: "updated_at", }); }); export function mcpServerToJSON(mcpServer: McpServer): string { return JSON.stringify(McpServer$outboundSchema.parse(mcpServer)); } export function mcpServerFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => McpServer$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'McpServer' from JSON`, ); }