Skip to content

Introducing the Raison TypeScript SDK

@raison/sdk is live: one typed client for prompts, variables, and deployment state, with your schema enforced at compile time.

Coyotiv

  • 2 min read

This post was first published on the Raison blog. Raison is Coyotiv’s platform for managing AI prompts as a team: versions, environments, evaluations and rollbacks, without an application deployment. Read how it started.

The @raison/sdk package is now available. It gives you a typed client for everything you would otherwise do with raw HTTP calls.

npm install @raison/sdk

Fetching a prompt

import { Raison } from "@raison/sdk";

const client = new Raison({ apiKey: process.env.RAISON_API_KEY });

const prompt = await client.getPrompt("customer-support", {
  variables: { customer_name: "Ada", plan_tier: "pro" },
});

Variables are typed from your prompt’s schema, so a missing or misspelled key is a compile-time error rather than a malformed system prompt in production.

That is the failure the SDK exists to remove, and it is worth being specific about why it hurts. Pass plan where the prompt expects plan_tier and nothing throws. The template renders {{plan_tier}} as literal text, the model reads instructions that make no sense, and the output is a little worse for every request until somebody notices.

Environment-scoped clients

Set the environment once at construction and every call resolves against it:

const client = new Raison({
  apiKey: process.env.RAISON_API_KEY,
  environment: process.env.APP_ENV,
});

Your code asks for customer-support and gets whichever version is deployed there. Application code never names a version number, which is the entire reason dev, staging, and production stay separate.

Also in this release

  • Deployment reads via client.getDeployment(promptId, environment). Log the version that served a request and an incident becomes a question you can answer instead of a reconstruction.
  • Response caching with a configurable TTL, on by default. Prompt fetches sit in your request path, so the default is the one that keeps them off it.
  • Full REST parity, documented at raison.apidocumentation.com.

Python and Go clients are next. Dated notes for every release, SDK or otherwise, are in the Raison changelog.

Try Raison at raison.ist, and see the rest of what we build on our products page.

More from the blog

Keep reading.