@appsfactorycol/khaos
v0.2.1
Published
Paquete de uso interno exclusivo de Apps Factory.
Downloads
408
Readme
@appsfactorycol/khaos
SDK de Khaos alineado con el contrato actual de la API.
Instalacion
npm i @appsfactorycol/khaosContrato base
- toda la API protegida usa
x-api-token - PostgreSQL usa
connectionTokencomo mecanismo formal de sesion - PostgreSQL acepta
connectiondirecto oconnectionToken - el SDK devuelve
KhaosResult<T>en lugar de lanzar errores HTTP por defecto - el SDK puede reintentar
503y504con backoff exponencial corto y jitter cuando se habilitaretries
Cliente base
import { createKhaosClient } from "@appsfactorycol/khaos";
const client = createKhaosClient({
baseUrl: process.env.KHAOS_BASE_URL!,
apiToken: process.env.KHAOS_API_TOKEN!,
retries: {
enabled: true,
maxRetries: 3,
jitterRatio: 0.2,
},
});PostgreSQL
const session = await client.postgres.createSession({
connection: {
connectionString: process.env.DATABASE_URL!,
ssl: false,
},
});
if (session.error || !session.data) throw session.error;
const db = client.postgres.useSession(session.data.connectionToken);
const users = await db.from("users").limit(10).select();Tambien puedes usar la forma directa recomendada por el reporte para los helpers del modulo:
const rows = await client.postgres.selectRows({
connectionToken: session.data.connectionToken,
schemaName: "public",
tableName: "users",
limit: 20,
});El backend aun responde token y connectionToken, pero el SDK recomienda usar connectionToken.
Errores
const result = await client.storage.listBuckets();
if (result.error) {
console.error(result.error.status, result.error.code, result.error.requestId);
} else {
console.log(result.data);
}Notas
- no uses
apiKey,accessToken,x-client-idnix-api-key - para PostgreSQL, autenticacion y conexion son cosas separadas
- revisa
GUIA_SDK_KHAOS_PARA_IA.mdpara ejemplos completos
