{"_id":"@agnostic-cloud/kms","_rev":"4-5470a7dd2733f070e8b6e0fbfc998df2","name":"@agnostic-cloud/kms","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@agnostic-cloud/kms","version":"0.1.0","_id":"@agnostic-cloud/kms@0.1.0","maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"dist":{"shasum":"87c86a0c9f30f78b974718ea1d177cc92de36a7b","tarball":"https://registry.npmjs.org/@agnostic-cloud/kms/-/kms-0.1.0.tgz","fileCount":7,"integrity":"sha512-65op35kZwpOlRNh0HIPm06CAinolIwrHAuymlOXCG/N5nsJ13jsie1gQ7Q5iF1AXdtQN1wCQ3WYRP59bHWZBgA==","signatures":[{"sig":"MEUCIFgDl4K/yR4GfL4ZQrW/ipVy5dsm7kGudxgNi4Ly3AJ9AiEA/wgXRluHE2FlJsaIhKlC7jW0QnnbNNDBGNrOne/bL/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6128824},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.18.0 || ^24.0.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","publishConfig":{"access":"public"}}},"gitHead":"3c191069ba3e97bd0589ca68299bc731e947fb7e","scripts":{"test":"vitest run","build":"tsup","coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"develasquez","email":"felipe.velasquezc@gmail.com"},"_npmVersion":"10.8.2","description":"Unified key management interface for AWS KMS, GCP Cloud KMS, and Azure Key Vault Keys","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@google-cloud/kms":"^4.0.0","@aws-sdk/client-kms":"^3.500.0","@azure/keyvault-keys":"^4.0.0"},"peerDependenciesMeta":{"@google-cloud/kms":{"optional":true},"@aws-sdk/client-kms":{"optional":true},"@azure/keyvault-keys":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/kms_0.1.0_1785135681615_0.8870464535464468","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agnostic-cloud/kms","version":"0.1.1","_id":"@agnostic-cloud/kms@0.1.1","maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"dist":{"shasum":"4fc3d76f96d7bea8baf21fb22062077c87f94c63","tarball":"https://registry.npmjs.org/@agnostic-cloud/kms/-/kms-0.1.1.tgz","fileCount":8,"integrity":"sha512-Khh9ttIP1GJbbdKIjI08WQQD63yNTAKwSzV4hIpiCL28Ha//H7kEy9iXp2sbZmv1m8MlrG6YhzJtEZw4Hp77ig==","signatures":[{"sig":"MEUCID/0WkM2iEOefpPfmMw37WoG1T7AjpjqoKIA38Zn4LeBAiEAn3PhvkSd+12TU+TmGBPjhUPTlkBRTeX4fNM0th9EekQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6130206},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.18.0 || ^24.0.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","publishConfig":{"access":"public"}}},"gitHead":"7a8e53c29d14a9846f171645fc11820203807df9","scripts":{"test":"vitest run","build":"tsup","coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"develasquez","email":"felipe.velasquezc@gmail.com"},"_npmVersion":"10.8.2","description":"Unified key management interface for AWS KMS, GCP Cloud KMS, and Azure Key Vault Keys","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@google-cloud/kms":"^4.0.0","@aws-sdk/client-kms":"^3.500.0","@azure/keyvault-keys":"^4.0.0"},"peerDependenciesMeta":{"@google-cloud/kms":{"optional":true},"@aws-sdk/client-kms":{"optional":true},"@azure/keyvault-keys":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/kms_0.1.1_1785136434612_0.04968003574434254","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agnostic-cloud/kms","version":"0.1.2","_id":"@agnostic-cloud/kms@0.1.2","maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"dist":{"shasum":"918d1387fcde63c78795687618441daa83a5d76d","tarball":"https://registry.npmjs.org/@agnostic-cloud/kms/-/kms-0.1.2.tgz","fileCount":8,"integrity":"sha512-3PW7TECO9GaVNSsMahBa5r6aYdftFHjILmSVHo5tSbkYjDW0Z1H7Q9soAx3W8B3UfZFR4Z4hWgbLuchpRFXwgQ==","signatures":[{"sig":"MEYCIQD7SpmAi3G1b6Jcmdd/sYlaWxufpoeSemtNegJvmu7nywIhAKB8ikvOae54gd09nbHWhnwK1zcF3dyIcPvufcFA3nRw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72276},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.18.0 || ^24.0.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"191848009dc0a86d60b9ccb2df9dccbb61d30132","scripts":{"test":"vitest run","build":"tsup","coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"develasquez","email":"felipe.velasquezc@gmail.com"},"_npmVersion":"10.8.2","description":"Unified key management interface for AWS KMS, GCP Cloud KMS, and Azure Key Vault Keys","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@azure/identity":"^4.13.1","@google-cloud/kms":"^4.5.0","@aws-sdk/client-kms":"^3.1095.0","@azure/keyvault-keys":"^4.10.2"},"peerDependenciesMeta":{"@azure/identity":{"optional":true},"@google-cloud/kms":{"optional":true},"@aws-sdk/client-kms":{"optional":true},"@azure/keyvault-keys":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/kms_0.1.2_1785506346256_0.0383383870076901","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agnostic-cloud/kms","version":"0.2.0","description":"Unified key management interface for AWS KMS, GCP Cloud KMS, and Azure Key Vault Keys","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","test":"vitest run","coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"peerDependencies":{"@aws-sdk/client-kms":"^3.1095.0","@azure/identity":"^4.13.1","@azure/keyvault-keys":"^4.10.2","@google-cloud/kms":"^4.5.0","oci-sdk":"^2.137.0"},"peerDependenciesMeta":{"@aws-sdk/client-kms":{"optional":true},"@azure/identity":{"optional":true},"@azure/keyvault-keys":{"optional":true},"@google-cloud/kms":{"optional":true},"oci-sdk":{"optional":true}},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.5.0","vitest":"^2.0.0"},"engines":{"node":"^22.18.0 || ^24.0.0 || >=26.0.0"},"_id":"@agnostic-cloud/kms@0.2.0","gitHead":"046c4a83bfa6f8bab917a769ff894a4a7eb8df94","_nodeVersion":"20.18.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-HDhe/HVmx4zhfI1151C7ebRyvropF4FNLcJHJvUHd0CQQYI+w8soC0PdaVwQi7f9fyfXyP0CRCfoOXm2OlKQWQ==","shasum":"9448efc481e3c451e8d25a4535fd062d48f44000","tarball":"https://registry.npmjs.org/@agnostic-cloud/kms/-/kms-0.2.0.tgz","fileCount":8,"unpackedSize":72350,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID99uyb2b+fKxHJGasWD674cLj9MCbDym+VHXX2QlFmtAiARMuuIQYV/XRS7H98EmbUzm7fqW7FajN3Ld/qIML0iLQ=="}]},"_npmUser":{"name":"develasquez","email":"felipe.velasquezc@gmail.com"},"directories":{},"maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kms_0.2.0_1785539424823_0.6327190577955415"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-27T07:01:21.410Z","modified":"2026-07-31T23:10:25.161Z","0.1.0":"2026-07-27T07:01:21.811Z","0.1.1":"2026-07-27T07:13:54.832Z","0.1.2":"2026-07-31T13:59:06.424Z","0.2.0":"2026-07-31T23:10:24.966Z"},"description":"Unified key management interface for AWS KMS, GCP Cloud KMS, and Azure Key Vault Keys","maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"readme":"# @agnostic-cloud/kms\n\nUnified key management for AWS KMS, GCP Cloud KMS, and Azure Key Vault Keys.\n\n## Installation\n\n```bash\nnpm install @agnostic-cloud/kms\n```\n\n> **Note on Peer Dependencies**: Provider SDKs are optional peer dependencies. You only need to install the SDK for the cloud provider(s) you use.\n\n### Supported Cloud Provider SDK Versions\n\n| Cloud Provider | Required SDK Package | Current / Tested Version | Installation Command |\n|---|---|---|---|\n| **AWS** | `@aws-sdk/client-kms` | `^3.1095.0` | `npm install @aws-sdk/client-kms` |\n| **GCP** | `@google-cloud/kms` | `^4.5.0` | `npm install @google-cloud/kms` |\n| **Azure** | `@azure/keyvault-keys`<br/>`@azure/identity` | `^4.10.2`<br/>`^4.13.1` | `npm install @azure/keyvault-keys @azure/identity` |\n\n## Usage\n\n```typescript\nimport { createKms } from '@agnostic-cloud/kms'\n\nconst kms = createKms({\n  cloud: 'aws',\n  region: 'us-east-1',\n})\n\n// Create key\nconst key = await kms.createKey('my-key', {\n  description: 'Encryption key for app secrets',\n})\n\n// Encrypt\nconst encrypted = await kms.encrypt(key.keyId, 'sensitive data')\n\n// Decrypt\nconst decrypted = await kms.decrypt(key.keyId, encrypted.ciphertext)\n\n// Schedule deletion\nconst deletionDate = await kms.scheduleKeyDeletion(key.keyId, 7)\n```\n\n## API\n\n### `createKms(config: KmsConfig): KmsStrategy`\n\n| Method | Signature |\n|--------|-----------|\n| `encrypt` | `(keyId, plaintext, context?) => Promise<EncryptResult>` |\n| `decrypt` | `(keyId, ciphertext, context?) => Promise<DecryptResult>` |\n| `createKey` | `(alias, options?) => Promise<KeyMetadata>` |\n| `scheduleKeyDeletion` | `(keyId, windowDays?) => Promise<Date>` |\n\n## Configuration\n\n```typescript\ninterface KmsConfig {\n  cloud?: 'aws' | 'gcp' | 'azure'\n  region?: string\n  config?: Record<string, any>\n}\n```\n\n## Documentation\n\nFull docs: https://develasquez.github.io/-agnostic-cloud/docs/next/packages/kms\n\nAPI reference: https://develasquez.github.io/-agnostic-cloud/docs/next/api/@agnostic-cloud/kms\n","readmeFilename":"README.md"}