{"_id":"@appsfactorycol/khaos","_rev":"4-c4704f645caea552d32b3384fae56b77","name":"@appsfactorycol/khaos","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.1":{"name":"@appsfactorycol/khaos","version":"0.1.1","license":"MIT","_id":"@appsfactorycol/khaos@0.1.1","maintainers":[{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"}],"dist":{"shasum":"95912d5a4c7f6ecf07f494ac7f33ef4efdcb6787","tarball":"https://registry.npmjs.org/@appsfactorycol/khaos/-/khaos-0.1.1.tgz","fileCount":7,"integrity":"sha512-spPAIQPUdiznzlLNGLvf2OxAaN+y8G2StO9ZhY52t/EpghkRh4+pHLowuoNiCD4VMmMqn31sTlma5fMcfhKCLQ==","signatures":[{"sig":"MEUCIQDSfr1bAmuxbj7aYPUmNJV0jQ8f7URe8d9dFA8V2DWzfQIgG8LtRasgiTAx+3ZXpAZskWGzwEMHQwQXuK0TTNtZAfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114396},"main":"./dist/index.cjs","type":"module","_from":"file:appsfactorycol-khaos-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","typecheck":"tsc --noEmit","pack:check":"npm pack","test:smoke":"node test.mjs"},"_npmUser":{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"},"_resolved":"C:\\Users\\vasqu\\AppData\\Local\\Temp\\f191ea049077e407e109681411dda742\\appsfactorycol-khaos-0.1.1.tgz","_integrity":"sha512-spPAIQPUdiznzlLNGLvf2OxAaN+y8G2StO9ZhY52t/EpghkRh4+pHLowuoNiCD4VMmMqn31sTlma5fMcfhKCLQ==","_npmVersion":"10.9.3","description":"Supabase-style SDK for API Khaos.","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/khaos_0.1.1_1776040655787_0.9243417928899049","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@appsfactorycol/khaos","version":"0.1.2","license":"UNLICENSED","_id":"@appsfactorycol/khaos@0.1.2","maintainers":[{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"}],"dist":{"shasum":"a337b767a8edd6503ab60329e7a4fe4f7c74afab","tarball":"https://registry.npmjs.org/@appsfactorycol/khaos/-/khaos-0.1.2.tgz","fileCount":7,"integrity":"sha512-CHxaAY+IyA6MLpBckJiXzIBQvmDmW/iS+X61GDVC13sr4xWBR8SBeYQGvODriZpqxvMxFSeao20V+NsfVb1V9g==","signatures":[{"sig":"MEYCIQDWzPTC86v8+tc3FEwEzS6s7cvwGXXMXCeQ4obYMKSz7AIhAKFF7lIsbqmRco1rjkTo0Tz+cLTwsFhbme2SMZATlSLj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109243},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","typecheck":"tsc --noEmit","pack:check":"npm pack","prepublishOnly":"npm run build"},"_npmUser":{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"},"_npmVersion":"10.9.3","description":"Paquete de uso interno exclusivo de Apps Factory.","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/khaos_0.1.2_1776195708013_0.34280022628497675","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@appsfactorycol/khaos","version":"0.1.3","license":"UNLICENSED","_id":"@appsfactorycol/khaos@0.1.3","maintainers":[{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"}],"dist":{"shasum":"fe844d51cd555a0f5b2719f4796c48f658e36e44","tarball":"https://registry.npmjs.org/@appsfactorycol/khaos/-/khaos-0.1.3.tgz","fileCount":7,"integrity":"sha512-Woiuqy2c3JAcUdFo5tM0jViseyUgBYkjIRSWpP6Z8inUGnIfdIyxHchaKZ8Dio88xE0LuJ3Y6Rg0+mc0UiZEOw==","signatures":[{"sig":"MEUCIQCgPOsrrV1JErFz3SiC+2Hrs/j+ooHgrbBChicwvt3l/AIgNmuFuIt3ATRfAgwMIkgwOuCLOzwyvN+v8opfKQVW8jk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110102},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","typecheck":"tsc --noEmit","pack:check":"npm pack","prepublishOnly":"npm run build"},"_npmUser":{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"},"_npmVersion":"10.9.3","description":"Paquete de uso interno exclusivo de Apps Factory.","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/khaos_0.1.3_1776642993840_0.8779293427434469","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@appsfactorycol/khaos","version":"0.2.1","description":"Paquete de uso interno exclusivo de Apps Factory.","type":"module","license":"UNLICENSED","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"publishConfig":{"access":"public"},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","typecheck":"tsc --noEmit","pack:check":"npm pack","prepublishOnly":"npm run build"},"devDependencies":{"tsup":"^8.5.0","typescript":"^5.8.3"},"_id":"@appsfactorycol/khaos@0.2.1","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-5o713CsgONPb6A1nH9Eg7jsRwL4aJDdJM8g25eGqgkWT3JABNFRM7zYaGim72U0WxJkkwYBtThMqQox2zXMT1g==","shasum":"b56160104d99700d8d0f9227fbe0e1c73b5108a0","tarball":"https://registry.npmjs.org/@appsfactorycol/khaos/-/khaos-0.2.1.tgz","fileCount":7,"unpackedSize":136065,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCVpVnDqsGU+wSK3Mo9boTQrGlGfNB3NxTYa207m7pUewIhAKi5EJhpM52DodzuAnFHy8iauVX1rJKrXVxkBtsjWVZG"}]},"_npmUser":{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"},"directories":{},"maintainers":[{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/khaos_0.2.1_1777399382234_0.068290843524494"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-13T00:37:35.729Z","modified":"2026-04-28T18:03:02.515Z","0.1.1":"2026-04-13T00:37:35.959Z","0.1.2":"2026-04-14T19:41:48.169Z","0.1.3":"2026-04-19T23:56:33.964Z","0.2.1":"2026-04-28T18:03:02.396Z"},"license":"UNLICENSED","description":"Paquete de uso interno exclusivo de Apps Factory.","maintainers":[{"name":"_appsfactory","email":"appsfactorycolombia@gmail.com"}],"readme":"# @appsfactorycol/khaos\n\nSDK de Khaos alineado con el contrato actual de la API.\n\n## Instalacion\n\n```bash\nnpm i @appsfactorycol/khaos\n```\n\n## Contrato base\n\n- toda la API protegida usa `x-api-token`\n- PostgreSQL usa `connectionToken` como mecanismo formal de sesion\n- PostgreSQL acepta `connection` directo o `connectionToken`\n- el SDK devuelve `KhaosResult<T>` en lugar de lanzar errores HTTP por defecto\n- el SDK puede reintentar `503` y `504` con backoff exponencial corto y jitter cuando se habilita `retries`\n\n## Cliente base\n\n```ts\nimport { createKhaosClient } from \"@appsfactorycol/khaos\";\n\nconst client = createKhaosClient({\n  baseUrl: process.env.KHAOS_BASE_URL!,\n  apiToken: process.env.KHAOS_API_TOKEN!,\n  retries: {\n    enabled: true,\n    maxRetries: 3,\n    jitterRatio: 0.2,\n  },\n});\n```\n\n## PostgreSQL\n\n```ts\nconst session = await client.postgres.createSession({\n  connection: {\n    connectionString: process.env.DATABASE_URL!,\n    ssl: false,\n  },\n});\n\nif (session.error || !session.data) throw session.error;\n\nconst db = client.postgres.useSession(session.data.connectionToken);\nconst users = await db.from(\"users\").limit(10).select();\n```\n\nTambien puedes usar la forma directa recomendada por el reporte para los helpers del modulo:\n\n```ts\nconst rows = await client.postgres.selectRows({\n  connectionToken: session.data.connectionToken,\n  schemaName: \"public\",\n  tableName: \"users\",\n  limit: 20,\n});\n```\n\nEl backend aun responde `token` y `connectionToken`, pero el SDK recomienda usar `connectionToken`.\n\n## Errores\n\n```ts\nconst result = await client.storage.listBuckets();\n\nif (result.error) {\n  console.error(result.error.status, result.error.code, result.error.requestId);\n} else {\n  console.log(result.data);\n}\n```\n\n## Notas\n\n- no uses `apiKey`, `accessToken`, `x-client-id` ni `x-api-key`\n- para PostgreSQL, autenticacion y conexion son cosas separadas\n- revisa `GUIA_SDK_KHAOS_PARA_IA.md` para ejemplos completos\n","readmeFilename":"README.md"}