<340 ns Per decisione
<600 ps Op. logica
2.9M/sec Throughput
On-premise nativo Nessun runtime cloud

Conformità in 10 righe di codice

SDK TypeScript senza dipendenze. Fetch nativo, errori tipizzati, copertura completa dell’API.
Da npm install alla prima decisione in meno di un minuto.

Avvio rapido

Installare, configurare, risolvere. La vostra prima decisione verificabile in pochi secondi.

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"

Copertura completa dell’API

Ogni endpoint. Input tipizzati, output tipizzati. Una sola istanza client per l’intera superficie.

MetodoDescrizione
client.resolve(request)Risoluzione decisione singola
client.resolveBatch(request)Risoluzione batch (fino a 1000)
client.resolveMulti(request)Risoluzione multi-regolamentazione
client.getDecision(id)Recuperare decisione con prove
client.listDecisions(params)Lista paginata con cursore
client.createVerificationToken(req)Creare token vfy_
client.listVerificationTokens()Elencare token attivi
client.revokeVerificationToken(id)Revocare un token
OmegaClient.verify(baseUrl, token)Verifica pubblica (senza auth)
client.health()Controllo di stato

Errori tipizzati

Ogni errore è una classe tipizzata, non una stringa.

401

OmegaAuthError

Credenziali non valide o scadute

403

OmegaForbiddenError

Permessi insufficienti

404

OmegaNotFoundError

Risorsa non trovata

400

OmegaBadRequestError

Richiesta non valida

422

OmegaValidationError

Errore di validazione dello schema

429

OmegaRateLimitError

Limite di frequenza superato

Principi di progettazione

Zero dipendenze

Utilizza il fetch() nativo. Nessun axios, nessun node-fetch. Funziona con Node.js 18+, Deno, Bun e browser.

Tipizzazione completa

Tipi TypeScript completi che rispecchiano l’API Rust. TrileanState, Evidence, Policy, ResolveResult — tutto tipizzato.

Fail-Fast

Classi di errore tipizzate per ogni codice HTTP. Nessun errore silenzioso, nessun errore generico.

Autenticazione

Tre metodi di autenticazione. Scegliete quello adatto al vostro contesto.

MetodoHeaderCaso d’uso
API KeyX-API-Key: delk_...Server-to-server, script, CI/CD
JWT BearerAuthorization: Bearer eyJ...Sessioni utente, dashboard
Tenant IDX-Tenant-Id: uuidIsolamento multi-tenant

Verifica pubblica

Nessuna autenticazione richiesta. Verificate qualsiasi decisione con un singolo token.

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"

Disponibile durante il pilota

Pacchetto npm completo con licenza di produzione. Iniziate l’integrazione durante il vostro programma pilota.