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.
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.
| Metodo | Descrizione |
|---|---|
| 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.
OmegaAuthError
Credenziali non valide o scadute
OmegaForbiddenError
Permessi insufficienti
OmegaNotFoundError
Risorsa non trovata
OmegaBadRequestError
Richiesta non valida
OmegaValidationError
Errore di validazione dello schema
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.
| Metodo | Header | Caso d’uso |
|---|---|---|
| API Key | X-API-Key: delk_... | Server-to-server, script, CI/CD |
| JWT Bearer | Authorization: Bearer eyJ... | Sessioni utente, dashboard |
| Tenant ID | X-Tenant-Id: uuid | Isolamento multi-tenant |
Verifica pubblica
Nessuna autenticazione richiesta. Verificate qualsiasi decisione con un singolo token.
// 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.