YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Contract Kit

Schema-first reliability helpers for structured AI outputs.

Contract Kit wraps model calls with the guardrails production teams usually end up rebuilding:

  • JSON extraction from model responses
  • schema validation with Zod or any compatible .parse() schema
  • automatic repair retries
  • replayable failure artifacts
  • lightweight event hooks for observability
  • provider adapters without forcing provider SDKs into your dependency tree

Install

npm install @krishthesmart/contract-kit zod

Usage

import { z } from "zod";
import { generateContract, openAIResponsesAdapter } from "@krishthesmart/contract-kit";
import OpenAI from "openai";

const client = new OpenAI();

const UserProfile = z.object({
  name: z.string(),
  role: z.string(),
  risk: z.enum(["low", "medium", "high"])
});

const result = await generateContract({
  model: openAIResponsesAdapter(client, {
    model: "gpt-4.1-mini",
    temperature: 0
  }),
  schema: UserProfile,
  prompt: "Extract the user's profile from this support ticket: ...",
  retries: 2,
  onEvent(event) {
    console.log(event.type);
  }
});

console.log(result.data);

result.data is guaranteed to be the schema output type if the call succeeds. If every attempt fails, Contract Kit throws a typed error containing replay, which can be saved as a test fixture.

Model Interface

Any model can be used by implementing one method:

const model = {
  async generate(prompt: string) {
    return callYourModel(prompt);
  }
};

Why This Exists

Structured AI output is still brittle in production. Responses arrive with markdown fences, invalid JSON, changed enum values, missing fields, and provider-specific edge cases. Contract Kit gives application teams a small, auditable boundary where those failures are retried, logged, and turned into reproducible tests.

Roadmap

  • Anthropic adapter
  • Vercel AI SDK adapter
  • OpenTelemetry event exporter
  • schema version diffing
  • fixture runner for replay files
  • CLI to turn production failures into regression tests
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support