JSPM

captar

0.4.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q36271F
  • License MIT

Runtime budget and policy enforcement SDK for LLM calls.

Package Exports

  • captar

Readme

captar

npm version npm downloads license: MIT typescript status

Runtime budget and policy enforcement SDK for LLM calls.

captar helps you stop expensive or runaway model calls before execution by enforcing:

  • spend limits
  • max call counts
  • repeated-call loop detection
  • reserve/commit cost accounting

Install

npm i captar

Quick Start

import OpenAI from "openai";
import { captar } from "captar";

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const client = captar(openai, {
  budget: { limitUsd: 10, window: "day" },
  policy: {
    maxCalls: 100,
    maxRepeatedCalls: 5,
  },
});

const result = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "Hello" }],
});

Status

  • Package: Active
  • Stability: Early production-ready core
  • Provider support: OpenAI-first
  • Runtime support: Node.js 20+
  • Module formats: ESM + CJS
  • Types: Included (.d.ts)

Error Handling

Blocked requests throw CaptarBlockedError with a structured decision object:

  • budget_exceeded
  • max_calls_exceeded
  • loop_detected

API

captar(client, options)

Wraps a provider client and enforces runtime policy.

options.budget

  • limitUsd: number
  • window: "hour" | "day" | "session"

options.policy (optional)

  • maxCalls?: number
  • maxRepeatedCalls?: number

options.hooks (optional)

  • onEvent(event)
  • onBlocked(event)

Development

pnpm install
pnpm --filter captar build
pnpm --filter captar test
pnpm --filter captar lint
pnpm --filter captar typecheck

Repository

Source: https://github.com/8dazo/captor