> ## Documentation Index
> Fetch the complete documentation index at: https://docs.responsibleailabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# JavaScript SDK Overview

> Install and use the RAIL Score JavaScript/TypeScript SDK.

## Installation

```bash theme={null}
npm install @responsible-ai-labs/rail-score
```

## Basic usage

```typescript theme={null}
import { RailScoreClient } from "@responsible-ai-labs/rail-score";

const client = new RailScoreClient({ apiKey: "YOUR_RAIL_API_KEY" });

// Evaluate content
const result = await client.eval({
  content: "Your AI-generated text here",
  mode: "basic",
});

console.log(`RAIL Score: ${result.railScore.score}/10`);

for (const [dim, scores] of Object.entries(result.dimensionScores)) {
  console.log(`  ${dim}: ${scores.score}/10`);
}
```

## Safe Regeneration

```typescript theme={null}
const result = await client.safeRegenerate({
  content: "Prioritize candidates from top universities.",
  prompt: "What hiring criteria should we use?",
  threshold: 7.0,
  mode: "basic",
  maxIterations: 3,
});

console.log(`Final score: ${result.finalScore}/10`);
console.log(`Content: ${result.content}`);
```

## Compliance check

```typescript theme={null}
const result = await client.complianceCheck({
  content: "We store and process user interaction data.",
  frameworks: ["gdpr", "eu_ai_act"],
  context: "EU-facing SaaS product",
});

console.log(`Compliant: ${result.overallCompliant}`);
```

## LLM provider wrappers

```typescript theme={null}
import { RAILOpenAI, RAILAnthropic, RAILGemini } from "@responsible-ai-labs/rail-score";

const client = new RAILOpenAI({
  openaiApiKey: "sk-...",
  railApiKey: "YOUR_RAIL_API_KEY",
  railThreshold: 7.0,
  railPolicy: "regenerate",
});

const response = await client.chatCompletion({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Explain quantum computing." }],
});

console.log(`RAIL Score: ${response.railScore}/10`);
```

## Naming conventions

The JavaScript SDK uses **camelCase** for all properties:

| API (snake\_case)  | SDK (camelCase)   |
| ------------------ | ----------------- |
| `rail_score`       | `railScore`       |
| `dimension_scores` | `dimensionScores` |
| `safe_regenerate`  | `safeRegenerate`  |
| `compliance_check` | `complianceCheck` |
| `credits_consumed` | `creditsConsumed` |
| `threshold_met`    | `thresholdMet`    |
