<340 ns Par décision
<600 ps Opération logique
2.9M/sec Débit
On-premise natif Aucun runtime cloud

La conformité en 10 lignes de code

SDK TypeScript sans dépendance. Fetch natif, erreurs typées, couverture complète de l’API.
De npm install à la première décision en moins d’une minute.

Démarrage rapide

Installer, configurer, résoudre. Votre première décision auditable en quelques secondes.

resolve.ts
import { OmegaClient } from '@omegaos/sdk';

const client = new OmegaClient({
  baseUrl: 'https://your-instance.example.com',
  apiKey: 'delk_your_api_key',
  tenantId: 'your-tenant-id',
});

const decision = await client.resolve({
  evidenceList: [
    { key: 'credit_score', state: 'Indeterminate', source: 'bureau' },
    { key: 'identity_verified', state: 'True', source: 'kyc_provider' },
  ],
  policy: { threshold: 2, requiredSources: ['bureau', 'kyc_provider'] },
});

console.log(decision.state); // "True" | "False" | "Indeterminate"

Couverture complète de l’API

Chaque endpoint. Entrées typées, sorties typées. Une seule instance client pour toute la surface.

Méthode Description
client.resolve(request) Résolution de décision unique
client.resolveBatch(request) Résolution par lots (jusqu’à 1000)
client.resolveMulti(request) Résolution multi-réglementation
client.getDecision(id) Récupérer une décision avec preuves
client.listDecisions(params) Liste paginée par curseur
client.createVerificationToken(req) Créer un jeton vfy_
client.listVerificationTokens() Lister les jetons actifs
client.revokeVerificationToken(id) Révoquer un jeton
OmegaClient.verify(baseUrl, token) Vérification publique (sans auth)
client.health() Vérification de santé

Erreurs typées

Chaque erreur est une classe typée, pas une chaîne de caractères.

401

OmegaAuthError

Identifiants invalides ou expirés

403

OmegaForbiddenError

Permissions insuffisantes

404

OmegaNotFoundError

Ressource introuvable

400

OmegaBadRequestError

Requête invalide

422

OmegaValidationError

Échec de validation du schéma

429

OmegaRateLimitError

Limite de débit dépassée

Principes de conception

Zéro dépendance

Utilise le fetch() natif. Pas d’axios, pas de node-fetch. Fonctionne avec Node.js 18+, Deno, Bun et les navigateurs.

Typage complet

Types TypeScript complets reflétant l’API Rust. TrileanState, Evidence, Policy, ResolveResult — tout est typé.

Échec rapide

Classes d’erreur typées pour chaque code HTTP. Pas d’échecs silencieux, pas d’erreurs génériques fourre-tout.

Authentification

Trois méthodes d’authentification. Choisissez celle adaptée à votre contexte.

Méthode En-tête Cas d’usage
API Key X-API-Key: delk_... Serveur à serveur, scripts, CI/CD
JWT Bearer Authorization: Bearer eyJ... Sessions utilisateur, tableau de bord
Tenant ID X-Tenant-Id: uuid Isolation multi-tenant

Vérification publique

Aucune authentification requise. Vérifiez n’importe quelle décision avec un seul jeton.

verify.ts
// No authentication required
const result = await OmegaClient.verify(
  'https://your-instance.example.com',
  'vfy_abc123...'
);

console.log(result.valid);     // true
console.log(result.state);     // "True"
console.log(result.decidedAt); // "2026-01-15T10:30:00Z"

Disponible pendant le pilote

Package npm complet avec licence de production. Commencez l’intégration pendant votre programme pilote.