{"_id":"@ai-digital-factory/sms","_rev":"3-baa4a7ae7c61bd2d9ed1ea84d64e2d30","name":"@ai-digital-factory/sms","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@ai-digital-factory/sms","version":"0.1.0","_id":"@ai-digital-factory/sms@0.1.0","maintainers":[{"name":"couple-adda-gaming","email":"coupleaddagaming@gmail.com"}],"dist":{"shasum":"b5eb87416a6a7e337263976505dd1589a2911968","tarball":"https://registry.npmjs.org/@ai-digital-factory/sms/-/sms-0.1.0.tgz","fileCount":5,"integrity":"sha512-ObFvZmIjU5/QhLLtLtdkzqQW5MRlJ3s1PXm9pjeiRbyeaACVkdAPOf9wCoXj1l081zuMA2a03NOEdA0mldwiqQ==","signatures":[{"sig":"MEQCIBwvGzDz59kWzWZUNt9xfDeS8zh/4/HJro8lZ0wbryw6AiAUfenI0VEJyJJkogfc2hKvFR6Egis6WboOh6Z20LeXpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19209},"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":{"lint":"tsc --noEmit","test":"node --test test/sms.test.mjs","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"couple-adda-gaming","email":"coupleaddagaming@gmail.com"},"description":"Provider-neutral secret management for applications.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"5.9.3","@types/node":"26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/sms_0.1.0_1788021985683_0.353015095299936","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ai-digital-factory/sms","version":"0.1.2","_id":"@ai-digital-factory/sms@0.1.2","maintainers":[{"name":"couple-adda-gaming","email":"coupleaddagaming@gmail.com"}],"dist":{"shasum":"840e1971da4ef24600d69b5ccb5ad8b992ec0c7a","tarball":"https://registry.npmjs.org/@ai-digital-factory/sms/-/sms-0.1.2.tgz","fileCount":6,"integrity":"sha512-GYGIKK5LDXkRMyNrn9IYofDqMecIcU0MSPCVB+/LOq/Grao3HgS4rMt+lDJPebM+kJdzAjAxqqvmsCMkNF2ecA==","signatures":[{"sig":"MEUCIQCUXSeblDHO8F6PQU3NQdPFII5+Vf18BKvR/pM8z3fShQIgF0aacXdXgRWZ+UREwBsrXF8j0pTnZXlNB481zYQ0Mh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD0i7WXO6lSV0Hn6Yo6pw85rYSVkK7MqyEiWxBx1566nwIhAL0V0MIsTiAmkjeA+HvfAfErJZiqD5K87KAX1Hu3HXJJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20098},"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":{"lint":"tsc --noEmit","test":"node --test test/sms.test.mjs","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"couple-adda-gaming","email":"coupleaddagaming@gmail.com"},"description":"Provider-neutral secret management for applications.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"5.9.3","@types/node":"26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/sms_0.1.2_1789795646597_0.8750170228678562","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"_id":"@ai-digital-factory/sms@0.1.3","dist":{"shasum":"d0b84a09134991ca41de696eb58972d5926a5382","tarball":"https://registry.npmjs.org/@ai-digital-factory/sms/-/sms-0.1.3.tgz","fileCount":6,"integrity":"sha512-NWcJMsh4qRfwosgs3bdY/oHtVRtEZGdsu89ptJIdv9GnxIdobwEpmzc6zOdbcgey91NR8on7ElV+4fUKGrCF8w==","signatures":[{"sig":"MEUCIQD3rEaDLNnktcbSUaO1ZJMmZRBS92+GoZsbQLbISODIFgIgbdouRzk+wv7O+EeGgKQGagOlHioAGJ4rwn3BLDQvb+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCvf8yJD3XhxlQ1AnO3quK7ZPNlhXOJUps5euWlmFX+jAIhALRxq2bXeH4HCxjVYLQ/GXrEw5B7HfCJH20864U5SP8P"}],"unpackedSize":27319},"main":"./dist/index.cjs","name":"@ai-digital-factory/sms","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":{"lint":"tsc --noEmit","test":"node --test test/sms.test.mjs","build":"tsup","typecheck":"tsc --noEmit"},"version":"0.1.3","_npmUser":{"name":"couple-adda-gaming","email":"coupleaddagaming@gmail.com"},"description":"Provider-neutral secret management for applications.","directories":{},"maintainers":[{"name":"couple-adda-gaming","email":"coupleaddagaming@gmail.com"}],"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"5.9.3","@types/node":"26.4.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sms_0.1.3_1790414365506_0.43593231724046455"}}},"time":{"created":"2026-08-29T16:46:25.433Z","modified":"2026-09-26T09:19:25.990Z","0.1.0":"2026-08-29T16:46:25.830Z","0.1.2":"2026-09-19T05:27:26.676Z","0.1.3":"2026-09-26T09:19:25.692Z"},"description":"Provider-neutral secret management for applications.","maintainers":[{"name":"couple-adda-gaming","email":"coupleaddagaming@gmail.com"}],"readme":"# @ai-digital-factory/sms\n\nProvider-neutral secret management for applications.\n\n## Install\n\n```bash\nnpm install @ai-digital-factory/sms\n```\n\n## Configure\n\n```ts\nimport { createSecretManager } from \"@ai-digital-factory/sms\";\n\nconst secrets = createSecretManager({\n  endpoint: process.env.SMS_ENDPOINT!,\n  credential: process.env.SMS_CREDENTIAL!,\n  scope: process.env.SMS_SCOPE!,\n});\n```\n\n`endpoint`, `credential`, and `scope` are required. `timeoutMs` is optional.\n\n## Use\n\n```ts\nawait secrets.save(\"database-password\", \"secret-value\");\n\nconst password = await secrets.read(\"database-password\");\n\nawait secrets.remove(\"database-password\");\n\nconst scopes = await secrets.listScopes();\nconst secretNames = await secrets.listSecretNames();\nconst databasePassword = await secrets.read(\n  \"database-password\",\n  scopes[0],\n);\n```\n\n`read` throws `SecretNotFoundError` when the secret does not exist. Invalid names, values, or configuration throw `InvalidSecretError`.\n\n`listScopes()` discovers descendant secret scopes beneath the configured scope.\n`listSecretNames(scope?)` returns names in the configured scope or a discovered\ndescendant scope. `read(secretName, scope?)` accepts the configured scope by\ndefault or a descendant scope. Discovery returns names and scopes only; Vault\ncredentials need list permission within the configured scope subtree.\n\nCommonJS is also supported:\n\n```js\nconst { createSecretManager } = require(\"@ai-digital-factory/sms\");\n```\n","readmeFilename":""}