vercelAIToolDefinitionSchema: ZodObject<
    {
        description: ZodOptional<ZodString>;
        parameters: ZodObject<
            {
                _type: ZodDefault<ZodOptional<ZodUnknown>>;
                jsonSchema: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
                validate: ZodDefault<ZodOptional<ZodUnknown>>;
            },
            "strip",
            ZodTypeAny,
            {
                _type?: unknown;
                jsonSchema?: Record<string, unknown>;
                validate?: unknown;
            },
            {
                _type?: unknown;
                jsonSchema?: Record<string, unknown>;
                validate?: unknown;
            },
        >;
        type: ZodLiteral<"function">;
    },
    "strip",
    ZodTypeAny,
    {
        description?: string;
        parameters: {
            _type?: unknown;
            jsonSchema?: Record<string, unknown>;
            validate?: unknown;
        };
        type: "function";
    },
    {
        description?: string;
        parameters: {
            _type?: unknown;
            jsonSchema?: Record<string, unknown>;
            validate?: unknown;
        };
        type: "function";
    },
> = ...

Vercel AI Tool Definition Schema

Produces the same result as if you called import { jsonSchema } from "ai" https://github.com/vercel/ai/blob/83976abfa99bf26f8227cf493386b8a6f0e71fdd/packages/ui-utils/src/schema.ts#L34