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.
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.
OmegaAuthError
Identifiants invalides ou expirés
OmegaForbiddenError
Permissions insuffisantes
OmegaNotFoundError
Ressource introuvable
OmegaBadRequestError
Requête invalide
OmegaValidationError
Échec de validation du schéma
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.
// 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.