Validation

Schema validation utilities compatible with Zod, Valibot, and custom schemas.

Interactive Demo

Validate input against a schema

The schema expects an object with a "name" string property.

Code Example

validation-demo.ts
import {
  validateWithSchema,
  createValidator,
  assertObject,
  assertString,
} from "@shivamsharma11/agent-sdk";

// Define a schema (compatible with Zod, Valibot, etc.)
const schema = {
  safeParse: (val: unknown) => {
    if (typeof val === "object" && val !== null && "name" in val && typeof val.name === "string") {
      return { success: true as const, data: val };
    }
    return { success: false as const, error: "Invalid input" };
  },
};

// Validate once
const result = validateWithSchema(schema, { name: "Alice" });

// Create a reusable validator
const validator = createValidator(schema, "user");
const result2 = validator({ name: "Bob" });

// Assertions
assertObject(someValue);
assertString(someValue.name, "name");