/* * 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 { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export const AgentConnectorObject = { AgentConnector: "agent.connector", } as const; export type AgentConnectorObject = ClosedEnum; export const Provider = { Telegram: "telegram", Whatsapp: "whatsapp", } as const; export type Provider = ClosedEnum; export type AgentConnector = { object: AgentConnectorObject; id: string; agentId: string; provider: Provider; name: string | null; /** * Connector lifecycle status, such as provisioning, activating, active, deleting, or error. */ status: string; /** * The provider account ID: Telegram bot user ID or WhatsApp phone-number ID. */ providerAccountId: string; /** * Provider account display name when one is available. */ providerAccountName: string | null; /** * Arbitrary JSON value. */ config?: any | undefined; /** * Whether encrypted provider credentials are stored for this connector. */ credentialsConfigured: boolean; lastError?: any | null | undefined; createdAt: Date; updatedAt: Date; deletedAt: Date | null; }; /** @internal */ export const AgentConnectorObject$inboundSchema: z.ZodNativeEnum< typeof AgentConnectorObject > = z.nativeEnum(AgentConnectorObject); /** @internal */ export const AgentConnectorObject$outboundSchema: z.ZodNativeEnum< typeof AgentConnectorObject > = AgentConnectorObject$inboundSchema; /** @internal */ export const Provider$inboundSchema: z.ZodNativeEnum = z .nativeEnum(Provider); /** @internal */ export const Provider$outboundSchema: z.ZodNativeEnum = Provider$inboundSchema; /** @internal */ export const AgentConnector$inboundSchema: z.ZodType< AgentConnector, z.ZodTypeDef, unknown > = z.object({ object: AgentConnectorObject$inboundSchema, id: z.string(), agent_id: z.string(), provider: Provider$inboundSchema, name: z.nullable(z.string()), status: z.string(), provider_account_id: z.string(), provider_account_name: z.nullable(z.string()), config: z.any().optional(), credentials_configured: z.boolean(), last_error: z.nullable(z.any()).optional(), created_at: z.string().datetime({ offset: true }).transform(v => new Date(v)), updated_at: z.string().datetime({ offset: true }).transform(v => new Date(v)), deleted_at: z.nullable( z.string().datetime({ offset: true }).transform(v => new Date(v)), ), }).transform((v) => { return remap$(v, { "agent_id": "agentId", "provider_account_id": "providerAccountId", "provider_account_name": "providerAccountName", "credentials_configured": "credentialsConfigured", "last_error": "lastError", "created_at": "createdAt", "updated_at": "updatedAt", "deleted_at": "deletedAt", }); }); /** @internal */ export type AgentConnector$Outbound = { object: string; id: string; agent_id: string; provider: string; name: string | null; status: string; provider_account_id: string; provider_account_name: string | null; config?: any | undefined; credentials_configured: boolean; last_error?: any | null | undefined; created_at: string; updated_at: string; deleted_at: string | null; }; /** @internal */ export const AgentConnector$outboundSchema: z.ZodType< AgentConnector$Outbound, z.ZodTypeDef, AgentConnector > = z.object({ object: AgentConnectorObject$outboundSchema, id: z.string(), agentId: z.string(), provider: Provider$outboundSchema, name: z.nullable(z.string()), status: z.string(), providerAccountId: z.string(), providerAccountName: z.nullable(z.string()), config: z.any().optional(), credentialsConfigured: z.boolean(), lastError: z.nullable(z.any()).optional(), createdAt: z.date().transform(v => v.toISOString()), updatedAt: z.date().transform(v => v.toISOString()), deletedAt: z.nullable(z.date().transform(v => v.toISOString())), }).transform((v) => { return remap$(v, { agentId: "agent_id", providerAccountId: "provider_account_id", providerAccountName: "provider_account_name", credentialsConfigured: "credentials_configured", lastError: "last_error", createdAt: "created_at", updatedAt: "updated_at", deletedAt: "deleted_at", }); }); export function agentConnectorToJSON(agentConnector: AgentConnector): string { return JSON.stringify(AgentConnector$outboundSchema.parse(agentConnector)); } export function agentConnectorFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => AgentConnector$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AgentConnector' from JSON`, ); }