Conformidade em 10 linhas de código
SDK TypeScript sem dependências. Fetch nativo, erros tipados, cobertura completa da API.
Do npm install à primeira decisão em menos de um minuto.
Início rápido
Instalar, configurar, resolver. A sua primeira decisão auditável em segundos.
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" Cobertura completa da API
Cada endpoint. Entradas tipadas, saídas tipadas. Uma única instância de cliente para toda a superfície.
| Método | Descrição |
|---|---|
| client.resolve(request) | Resolução de decisão única |
| client.resolveBatch(request) | Resolução em lote (até 1000) |
| client.resolveMulti(request) | Resolução multi-regulamentação |
| client.getDecision(id) | Obter decisão com provas |
| client.listDecisions(params) | Lista paginada por cursor |
| client.createVerificationToken(req) | Criar token vfy_ |
| client.listVerificationTokens() | Listar tokens ativos |
| client.revokeVerificationToken(id) | Revogar um token |
| OmegaClient.verify(baseUrl, token) | Verificação pública (sem auth) |
| client.health() | Verificação de estado |
Erros tipados
Cada erro é uma classe tipada, não uma string.
OmegaAuthError
Credenciais inválidas ou expiradas
OmegaForbiddenError
Permissões insuficientes
OmegaNotFoundError
Recurso não encontrado
OmegaBadRequestError
Pedido inválido
OmegaValidationError
Erro de validação do esquema
OmegaRateLimitError
Limite de taxa excedido
Princípios de design
Zero dependências
Utiliza fetch() nativo. Sem axios, sem node-fetch. Funciona em Node.js 18+, Deno, Bun e navegadores.
Tipagem segura
Tipos TypeScript completos que espelham a API Rust. TrileanState, Evidence, Policy, ResolveResult — tudo tipado.
Fail-Fast
Classes de erro tipadas para cada código HTTP. Sem falhas silenciosas, sem erros genéricos.
Autenticação
Três métodos de autenticação. Escolha o correto para o seu contexto.
| Método | Header | Caso de uso |
|---|---|---|
| API Key | X-API-Key: delk_... | Servidor-a-servidor, scripts, CI/CD |
| JWT Bearer | Authorization: Bearer eyJ... | Sessões de utilizador, dashboard |
| Tenant ID | X-Tenant-Id: uuid | Isolamento multi-tenant |
Verificação pública
Sem autenticação necessária. Verifique qualquer decisão com um único 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" Disponível durante o piloto
Pacote npm completo com licença de produção. Comece a integração durante o seu programa piloto.