{"_id":"@alvarochaval/mdp-sdk","name":"@alvarochaval/mdp-sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@alvarochaval/mdp-sdk","version":"0.1.0","description":"Mesa de Pagos SDK — módulo auth para Persona y Borderless (BYOK)","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.json","test":"jest","prepublishOnly":"npm run build"},"keywords":["mdp","mesa-de-pagos","persona","borderless","kyc","kyb"],"license":"ISC","engines":{"node":">=18"},"dependencies":{"axios":"^1.11.0"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^22.9.0","jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.6.3"},"_id":"@alvarochaval/mdp-sdk@0.1.0","gitHead":"0749f739b27812894c26e08e9960d65b14f6fec5","_nodeVersion":"22.21.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-WqIzPl8zMSbRHrViYwEGfPFFe8jxsi2lvV0uHaHFPqLGxWauih3rTwnPhf3DEeG9Jtali875MmQut18sj025tQ==","shasum":"9d77d5ba0a7ce35ed80acde4ee1d496302352bf7","tarball":"https://registry.npmjs.org/@alvarochaval/mdp-sdk/-/mdp-sdk-0.1.0.tgz","fileCount":34,"unpackedSize":32580,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDvDqCSfHc6WRDxkLt9NL3PqQCFk1w3C2/r51hD8SpoFgIgOLM7LFeNDI3ZwBQ0A2+ZCk5xYV7DGVtAWcxCv18Fpn0="}]},"_npmUser":{"name":"alvarochaval","email":"rojasmachucaalvaro@gmail.com"},"directories":{},"maintainers":[{"name":"alvarochaval","email":"rojasmachucaalvaro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mdp-sdk_0.1.0_1779304522479_0.8642217753936441"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-20T19:15:22.190Z","0.1.0":"2026-05-20T19:15:22.637Z","modified":"2026-05-20T19:15:23.166Z"},"maintainers":[{"name":"alvarochaval","email":"rojasmachucaalvaro@gmail.com"}],"description":"Mesa de Pagos SDK — módulo auth para Persona y Borderless (BYOK)","keywords":["mdp","mesa-de-pagos","persona","borderless","kyc","kyb"],"license":"ISC","readme":"# @mdp/sdk\r\n\r\nSDK de Mesa de Pagos — **módulo auth** (v0.1.0).\r\n\r\nConecta con los proveedores externos **Persona** y **Borderless** usando credenciales BYOK en `.env`. El token de Borderless se cachea en memoria; no hace falta pasarlo en cada petición.\r\n\r\n## Instalación (local, monorepo)\r\n\r\n```bash\r\ncd api-mdp/packages/mdp-sdk\r\nnpm install\r\nnpm run build\r\n```\r\n\r\nDesde otro proyecto en el monorepo:\r\n\r\n```json\r\n{\r\n  \"dependencies\": {\r\n    \"@mdp/sdk\": \"file:../api-mdp/packages/mdp-sdk\"\r\n  }\r\n}\r\n```\r\n\r\n## Variables de entorno\r\n\r\n| Variable | Requerida | Descripción |\r\n|----------|-----------|-------------|\r\n| `PERSONA_API_KEY` | Sí | API key de Persona |\r\n| `PERSONA_API_URL` | No | Default: `https://api.withpersona.com/api/v1/` |\r\n| `BORDERLESS_API_URL` | Sí | Base URL de Borderless |\r\n| `BORDERLESS_CLIENT_ID` | Sí | Client ID M2M |\r\n| `BORDERLESS_CLIENT_SECRET` | Sí | Client secret M2M |\r\n\r\n## Uso\r\n\r\n```typescript\r\nimport { createMdpSdk } from '@mdp/sdk'\r\n\r\nconst sdk = createMdpSdk()\r\n\r\n// Headers Persona (API key estática)\r\nconst personaHeaders = sdk.auth.getPersonaHeaders()\r\n\r\n// Token Borderless M2M (cache + refresh automático)\r\nconst borderlessToken = await sdk.auth.getBorderlessAccessToken()\r\n\r\n// HTTP autenticado a proveedores\r\nconst inquiry = await sdk.auth.http.get('persona', '/inquiries/inq_xxx')\r\nconst identity = await sdk.auth.http.post('borderless', '/v1/identities', payload)\r\n```\r\n\r\n### Overrides (tests)\r\n\r\n```typescript\r\nconst sdk = createMdpSdk({\r\n  persona: { apiKey: 'test', baseUrl: 'https://api.withpersona.com/api/v1' },\r\n  borderless: {\r\n    apiUrl: 'https://sandbox-api.borderless.xyz',\r\n    clientId: 'id',\r\n    clientSecret: 'secret'\r\n  }\r\n})\r\n```\r\n\r\n## Scripts\r\n\r\n- `npm run build` — compila a `dist/`\r\n- `npm test` — tests unitarios\r\n\r\n## Publicación npm (cuando corresponda)\r\n\r\n```bash\r\nnpm publish --access public\r\n```\r\n\r\nRequiere org `@mdp` en npm y versión bump en `package.json`.\r\n\r\n## Alcance v0.1\r\n\r\nIncluye **solo auth** hacia Persona y Borderless. Onboarding, webhooks y otros módulos vendrán en versiones posteriores.\r\n","readmeFilename":"README.md","_rev":"1-ba823345ba66046d1b4caa36aa9ca711"}