{"_id":"@0disoft/openfeature-local-provider","_rev":"17-c1cb13f2871eb595ac6c58e1134aa566","name":"@0disoft/openfeature-local-provider","dist-tags":{"latest":"1.0.0","next":"1.0.0-rc.2"},"versions":{"0.9.1":{"name":"@0disoft/openfeature-local-provider","version":"0.9.1","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.9.1","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"dist":{"shasum":"e06b2de3c99423116eba835cab20157f223cd783","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.9.1.tgz","fileCount":9,"integrity":"sha512-+hskUvgK6+NDt4oj4QMAr7mCc7ACyWW8avAXfHS3kUSLFMu3E88acmqWMNL7l3vyPEyl/vKPQ+OOBDmQg/TT5A==","signatures":[{"sig":"MEQCIAfhTlrnIxZfQ5+Pc6TvcPey7IjdvsdDGg//rFkFWAMMAiBgJGpBbK1ivocYLSnmRtAwzvgUkyR7/R9YYsoZp+LtkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":217061},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"204ae05317f3a75e7da864aafd4fd338f7317241","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"0disoft","email":"rodisoft1@gmail.com"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON flag snapshots, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.9.1_1783398532130_0.9073125292347579","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@0disoft/openfeature-local-provider","version":"0.9.2","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.9.2","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"dist":{"shasum":"fe99dd53cceac7abd153a5f2bb7656dc9a8c53f8","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.9.2.tgz","fileCount":9,"integrity":"sha512-z3FeDAxQnCOJNmYiBgtPqHoEqsK0DmFowWnCm3G1KfOI70pYgQbcDa2G/Hp9dModD7Bc32wA9Cp8y3RW8pWNBg==","signatures":[{"sig":"MEQCIQDl+D7V+6FCyPel3ZnNmATl98DqojZoo3hmmKrvWrkwnwIfEeCz7R+9zMu1jc92paT3dMiMdTq88MoOTA45b070Bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219410},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"41427d9209a23034ab62399de034649dc7c84355","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON flag snapshots, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.9.2_1783410090195_0.847737787733388","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@0disoft/openfeature-local-provider","version":"0.10.0","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.10.0","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"dist":{"shasum":"f73d40f2ed8c0b21215192920f729514329714fa","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.10.0.tgz","fileCount":9,"integrity":"sha512-jmObzA+NPjl7HQbdiBHyo47QcNkFbh0E0QnodUMCrM4+5XKmDESGs2zIJM7k/XfdedjaAiUqhfgD5LihuzhowQ==","signatures":[{"sig":"MEYCIQCPPQwv4bm8kGk/UX8caey5kTux1MjVnPD8QhaAJojG/AIhANZzuQoAh6Kv9m5wpTljv616RJtLZEdRYJ3Th1zMPNcw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":223367},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"e656e6b97fbb4497e40c5ab50f37d72076687410","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.10.0_1783415312893_0.06365286090237254","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@0disoft/openfeature-local-provider","version":"0.11.0","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.11.0","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"dist":{"shasum":"7e29924d05a6053d4ae651d562656aca88870438","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.11.0.tgz","fileCount":9,"integrity":"sha512-5No4tqBJh+vDCS7oQY215XGebZitjzn4seKcu0IihSOe3LxZeDkyfmkEokKoCSjwRZ6rf5c36EwFUV7iRWsBfg==","signatures":[{"sig":"MEUCIBPP1D4b4QI4DocfW+GJrJ5cH3Y1QiCAvyss1/ZCGNwYAiEA/U7VJ/bug+Lu0QI7CKSgrH9q+7UfQK8+djYrSBUR0no=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246247},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"b0d21b96a3528b281ced1ebd1c826d679d27c71a","scripts":{"test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.11.0_1783416365484_0.27877296312668753","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@0disoft/openfeature-local-provider","version":"0.12.0","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.12.0","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"940712cb962fa32254ec31ae68337bf597224eb2","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.12.0.tgz","fileCount":18,"integrity":"sha512-xEDHXLLjgt7ahW3xK/Ed1T1w0AXQgBahcDJ7m+QS2cduL2pvY3gtiQO5doKXtdQE8XJpEBcUJc0t3vDqEgcU/g==","signatures":[{"sig":"MEUCIQDrf8djFN0274FZz6OeYq0NMurPDzTdDT+rL02CJUn8zAIgTj3UmZnzCS0tZ8g/H6zb4Z8hQPOIixmV5MBMuQ/Dums=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":304651},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"1993b578fc9bab9def8cfe0b42df2e3e7a086050","scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.12.0_1783417304424_0.36475093225091393","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@0disoft/openfeature-local-provider","version":"0.12.1","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.12.1","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"fede0d8e171a1a04ffdf63f78e5b27e9b69908d6","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.12.1.tgz","fileCount":18,"integrity":"sha512-481emOsEmusfUbm/NMN/cvFizZVwv1IpxAc0yZwvzEeU/aQeI3p8WPhPW0J1ZTSuUQCgIMIcplEyJN/dWPHxmw==","signatures":[{"sig":"MEYCIQDpu22VB9WdYDo3YjmGrOsc0WBuYLegWhcMb5TLpLKtEgIhAK02VUL9XigP03OHG1u6+XIf8HzHRn+0492m7c9daR+S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":350794},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"2fcc2e6de94eebf3d63a14d0088b040ebe0ef65d","scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.12.1_1783489687935_0.6124886361031017","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@0disoft/openfeature-local-provider","version":"0.12.2","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.12.2","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"8adbe44f540ddba0cc9ee9e2ffafadd7817035ee","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.12.2.tgz","fileCount":18,"integrity":"sha512-PFQrc6cJRmBSt/fOUtQFF0dKw/p1SF9pljuhbe2IhuKUNw7oos3ploCmahkgdyNnO0ys5tCNku2c+ENAIz2YZw==","signatures":[{"sig":"MEUCIQCPOvTAP5RlB9vcAcAdJTE9e8Rtj8Ojyb/dfSWVZzvBRwIgQX0gJ/Z3xJjqqUX+gjiLz3hM+tpjv6/2cd8YD2yhObg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":360053},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"e19e3fc363072e84f8e204f41e75377cc8d76c20","scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.12.2_1783688172387_0.7368860470295309","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@0disoft/openfeature-local-provider","version":"0.13.0","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.13.0","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"8b8a841ce96e1af72d21c749954c2e065583d28c","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.13.0.tgz","fileCount":18,"integrity":"sha512-Rm3ir1rRQ6xi1L7Jvlqyi7ZFf03NqjIz5r0+yPZCW3uy3NIpJ56C+UVLOSXo3/uK/BsNYKCflDQeRptkUrYKNg==","signatures":[{"sig":"MEUCID0hfRv8EB2tTWfnS/dgoJKL5Z2jGSKlil6onpRHjMW3AiEAnYLb06v19xC5ZT0wYdAm+fGm0SlOPvVUEc30art77e4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":365532},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"5eec8183333380111e401c1cce2eb35eed80e3db","scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.13.0_1783689236421_0.7623324251051882","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@0disoft/openfeature-local-provider","version":"0.13.1","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.13.1","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"741433c50b6474bf8c871fbc48c0e8bd8c141e0c","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.13.1.tgz","fileCount":18,"integrity":"sha512-g0dos+VQwIPXtMDlySH/tpuHMX02GAy4Su+QckdBLRN3TmpQGCctgeT+Cg2wmo7UIGHuoqOhkmL5syYPuXeooQ==","signatures":[{"sig":"MEUCIB7HwdE8cFdu2PzVt7S5CASdWlr8WAGC529ANxcnmTYgAiEAyVLJTl7Dt3l9ckh5pxnLkSCdS7bV324SkuCWzTPxSRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":371111},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"0a7a9ad85929fefcc5b824119232dad5be384398","scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.13.1_1783754838160_0.6652692758200915","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@0disoft/openfeature-local-provider","version":"0.13.2","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.13.2","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"1839d5c51e9a81160f57f59965325779146cb834","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.13.2.tgz","fileCount":18,"integrity":"sha512-42G5loChSktdWEVDZGphz7di0v0uxm1hr09uxs6IU80q1ftIwbmgs3xorf14Br3tjhzLm1130yUc3G+QMVQd3w==","signatures":[{"sig":"MEUCICWxC5hfJ1j6N0LdmSE5MTkWswnBuVTA/Lg0ny4vaj96AiEAuupTmrRdxSnD39ImPsZ1GQmLWhzwTYHa0dO9M3nUTAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":394616},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"389da774008642227c5d6dddde2daa4701d0df71","scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.13.2_1783773050656_0.3588887021245484","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"@0disoft/openfeature-local-provider","version":"0.13.3","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.13.3","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"c21ad0fd867a6ebf50864bb8aac7009eb67f589c","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.13.3.tgz","fileCount":18,"integrity":"sha512-NTNG4yC3ek9tzQN9yBgtckfMcnBfEvm4uf0KwRhRNPngByxrMr+qrA2DfctUWzEfM2Txvqrm0mgGipVWcatLQQ==","signatures":[{"sig":"MEUCIQDFHCHmLtdwayoSYcHnwybJPLbZyvO9etgxY3I5PDn9GAIgDOm/VU8C+7SZRydikLwBrTF7D87HZzRB3F767lyBtLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.13.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414781},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/release/0disoft-openfeature-local-provider-0.13.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"_resolved":"/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/release/0disoft-openfeature-local-provider-0.13.3.tgz","_integrity":"sha512-NTNG4yC3ek9tzQN9yBgtckfMcnBfEvm4uf0KwRhRNPngByxrMr+qrA2DfctUWzEfM2Txvqrm0mgGipVWcatLQQ==","repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.13.3_1783830630390_0.019829909391212652","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@0disoft/openfeature-local-provider","version":"0.14.0","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.14.0","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"e30c191a5ad974a0208b8b972bdcb766feb95db9","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.14.0.tgz","fileCount":18,"integrity":"sha512-kBcikQ2F5UwOTzHoBijJPzr07jDFCTDY+5YJbAvoHGiwOYm6CrAZhJjCSTTqLPTrtxwOVs7hdBOaPBK3SmlqWg==","signatures":[{"sig":"MEYCIQCMoSGaglbqij3rvTIxsmsiyTHvhrx18Yve0fB6iWZxZQIhAMqQINAYK0pGyvVR/Mw5JqFJOmhlKG4LsPoveYRdt/58","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":422688},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/release/0disoft-openfeature-local-provider-0.14.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"_resolved":"/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/release/0disoft-openfeature-local-provider-0.14.0.tgz","_integrity":"sha512-kBcikQ2F5UwOTzHoBijJPzr07jDFCTDY+5YJbAvoHGiwOYm6CrAZhJjCSTTqLPTrtxwOVs7hdBOaPBK3SmlqWg==","repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.14.0_1783927599371_0.1662604127308127","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@0disoft/openfeature-local-provider","version":"0.15.0","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.15.0","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"d4b7d028f3d8242dc68ab049cbaf81cf47b55eb3","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.15.0.tgz","fileCount":18,"integrity":"sha512-nTfA/u6e2aOfcqzeS1oC7goku9eK7o0ePvwRoJeqUXAfM6fHKcM5OCjBfOSrnQvJCxhixYfAIpfoqCTgAYLnsg==","signatures":[{"sig":"MEYCIQDy/5av3NJEGKq4SxyisrsJzrPT7guMCR4HeYWA7sAS9QIhAMTeUNRQHjYfymwMqdia87EhZb1ws20ai+97qkRiSO/H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":424036},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/release/0disoft-openfeature-local-provider-0.15.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"_resolved":"/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/release/0disoft-openfeature-local-provider-0.15.0.tgz","_integrity":"sha512-nTfA/u6e2aOfcqzeS1oC7goku9eK7o0ePvwRoJeqUXAfM6fHKcM5OCjBfOSrnQvJCxhixYfAIpfoqCTgAYLnsg==","repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.15.0_1784096742617_0.4265904460716752","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@0disoft/openfeature-local-provider","version":"0.16.0","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@0.16.0","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"2d955260416a8e8cf2b7a3cbf6d983ea3f5914f0","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-0.16.0.tgz","fileCount":18,"integrity":"sha512-Z+Yo68CIWPiDH8JZxAGAWIcYUIc3iSmzj02zDltMpvgBSeRlAAl+j1TjC8PovGQcMxLfz2s1wWZSPKFuDSPOtQ==","signatures":[{"sig":"MEQCIHkeYHvh+RXJp/Zr/SWEmMUwW+K38Jbt59LtoDuz5w9xAiBxB0bkHBmL2C0EZBlnqtYqFKiElyFxLbRsWN1WKjnoQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445430},"main":"./dist/index.cjs","type":"module","_from":"file:.tmp/candidate/0disoft-openfeature-local-provider-0.16.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"_resolved":"/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/candidate/0disoft-openfeature-local-provider-0.16.0.tgz","_integrity":"sha512-Z+Yo68CIWPiDH8JZxAGAWIcYUIc3iSmzj02zDltMpvgBSeRlAAl+j1TjC8PovGQcMxLfz2s1wWZSPKFuDSPOtQ==","repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_0.16.0_1784379202647_0.5336419917459745","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.1":{"name":"@0disoft/openfeature-local-provider","version":"1.0.0-rc.1","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@1.0.0-rc.1","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"27f68568df3e1a503fb240107e8a2505eabd6281","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-1.0.0-rc.1.tgz","fileCount":18,"integrity":"sha512-dgwhq+Q5yYBL5vv52WQtcfnCLJH9Gw6u3ZYjN9bA9QwPpXtfAtNKkBIlffJ9luSrUajlck2OUMugzxfp7tLZfQ==","signatures":[{"sig":"MEUCIQCsAzzaKLy76HEFddIOL9C+BjtysGlrBU20QBTlixI1ugIgQXk4RAXAd/mZYdP3oPS1C4ruUH3ek0WrPgB+bI0E6BA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@1.0.0-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445434},"main":"./dist/index.cjs","type":"module","_from":"file:.tmp/candidate/0disoft-openfeature-local-provider-1.0.0-rc.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"_resolved":"/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/candidate/0disoft-openfeature-local-provider-1.0.0-rc.1.tgz","_integrity":"sha512-dgwhq+Q5yYBL5vv52WQtcfnCLJH9Gw6u3ZYjN9bA9QwPpXtfAtNKkBIlffJ9luSrUajlck2OUMugzxfp7tLZfQ==","repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_1.0.0-rc.1_1784381495167_0.30770327023521626","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.2":{"name":"@0disoft/openfeature-local-provider","version":"1.0.0-rc.2","keywords":["openfeature","feature-flags","provider","local","testing"],"license":"Apache-2.0","_id":"@0disoft/openfeature-local-provider@1.0.0-rc.2","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"dist":{"shasum":"c6f3358e169b9b8e9bbb7a8575b7b101af9bd2d8","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-1.0.0-rc.2.tgz","fileCount":18,"integrity":"sha512-yDDYu2n4B3cX22b2JW73QCXvL3ad1F/6OksjMTkiytHDDfAr6Ru/81KGpjm44BkVL+NMhXjRQEUhlMFWPSQFiA==","signatures":[{"sig":"MEUCIQDWbARZ1/zNzhRZDHGAcTI+xtj7FVFs0jPHQ/09GzVvDwIgI+iLTTQIRSbXCzdMDMqyurcK4NbTM7Tsh0TVC2vRj6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@1.0.0-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":449542},"main":"./dist/index.cjs","type":"module","_from":"file:.tmp/candidate/0disoft-openfeature-local-provider-1.0.0-rc.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"pnpm run build && publint && attw --pack ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"_resolved":"/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/candidate/0disoft-openfeature-local-provider-1.0.0-rc.2.tgz","_integrity":"sha512-yDDYu2n4B3cX22b2JW73QCXvL3ad1F/6OksjMTkiytHDDfAr6Ru/81KGpjm44BkVL+NMhXjRQEUhlMFWPSQFiA==","repository":{"url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","type":"git","directory":"packages/local-provider"},"_npmVersion":"11.16.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"yaml":"2.9.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/openfeature-local-provider_1.0.0-rc.2_1784515185892_0.59913713305888","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@0disoft/openfeature-local-provider","version":"1.0.0","description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","directory":"packages/local-provider"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","bin":{"openfeature-local-provider":"bin/openfeature-local-provider.js"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"sideEffects":false,"engines":{"node":">=22 <25"},"peerDependencies":{"@openfeature/server-sdk":"^1.22.0"},"devDependencies":{"@openfeature/core":"1.11.0","@openfeature/server-sdk":"1.22.0"},"keywords":["openfeature","feature-flags","provider","local","testing"],"dependencies":{"yaml":"2.9.0"},"scripts":{"build":"tsup src/index.ts src/cli.ts --format esm,cjs --dts --sourcemap --clean","pack:check":"pnpm run build && publint && attw --pack .","test":"vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"_id":"@0disoft/openfeature-local-provider@1.0.0","bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","_integrity":"sha512-AxPAeIqnlKdRiiVQczJICwWLB82TnxSSSDv6bHQDF8TABnaRS67ZLn9vJ7AJqwrS3uJDccj3EINhkya1AZ6gwA==","_resolved":"/home/runner/work/openfeature-local-provider-audit/openfeature-local-provider-audit/.tmp/candidate/0disoft-openfeature-local-provider-1.0.0.tgz","_from":"file:.tmp/candidate/0disoft-openfeature-local-provider-1.0.0.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-AxPAeIqnlKdRiiVQczJICwWLB82TnxSSSDv6bHQDF8TABnaRS67ZLn9vJ7AJqwrS3uJDccj3EINhkya1AZ6gwA==","shasum":"007d8cf64a11c61eddc0ed5a077caf88af79eba0","tarball":"https://registry.npmjs.org/@0disoft/openfeature-local-provider/-/openfeature-local-provider-1.0.0.tgz","fileCount":18,"unpackedSize":449537,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0disoft%2fopenfeature-local-provider@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCkhZKjrEDHOz5OWwVwMMXh10a3WD1wP8/3ZduLe0SwmwIhAJ/mpDEZ1IuK4sFz7Rcbm8a4p4e7TDG7/W+TqJ6PIeTz"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:50f2a75d-1d8b-420d-9935-648ad7042118"}},"directories":{},"maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openfeature-local-provider_1.0.0_1784527439655_0.29615649978856373"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T04:28:51.944Z","modified":"2026-07-20T06:04:00.132Z","0.9.1":"2026-07-07T04:28:52.281Z","0.9.2":"2026-07-07T07:41:30.315Z","0.10.0":"2026-07-07T09:08:33.031Z","0.11.0":"2026-07-07T09:26:05.607Z","0.12.0":"2026-07-07T09:41:44.573Z","0.12.1":"2026-07-08T05:48:08.107Z","0.12.2":"2026-07-10T12:56:12.673Z","0.13.0":"2026-07-10T13:13:56.552Z","0.13.1":"2026-07-11T07:27:18.293Z","0.13.2":"2026-07-11T12:30:50.834Z","0.13.3":"2026-07-12T04:30:30.540Z","0.14.0":"2026-07-13T07:26:39.498Z","0.15.0":"2026-07-15T06:25:42.766Z","0.16.0":"2026-07-18T12:53:22.830Z","1.0.0-rc.1":"2026-07-18T13:31:35.305Z","1.0.0-rc.2":"2026-07-20T02:39:46.027Z","1.0.0":"2026-07-20T06:03:59.831Z"},"bugs":{"url":"https://github.com/0disoft/openfeature-local-provider-audit/issues"},"license":"Apache-2.0","homepage":"https://github.com/0disoft/openfeature-local-provider-audit#readme","keywords":["openfeature","feature-flags","provider","local","testing"],"repository":{"type":"git","url":"git+https://github.com/0disoft/openfeature-local-provider-audit.git","directory":"packages/local-provider"},"description":"Local OpenFeature provider for JSON/YAML flag snapshots, CLI validation, file reload/watch, typed evaluation, environment overrides, bucketing, replay fixtures, redacted audit events, and lockable rotating file audit sinks.","maintainers":[{"name":"0disoft","email":"rodisoft1@gmail.com"}],"readme":"# @0disoft/openfeature-local-provider\n\nLocal OpenFeature provider for JSON/YAML flag snapshots, typed evaluation, explicit\nCLI validation, environment overrides, deterministic rollout bucketing, replay fixtures,\nand redacted audit logs.\n\n## Install\n\n```sh\nnpm install @0disoft/openfeature-local-provider @openfeature/server-sdk\n```\n\n## Quick Start\n\n```ts\nimport { OpenFeature, ProviderEvents } from \"@openfeature/server-sdk\";\nimport { createLocalProvider, parseJsonFlagSnapshot } from \"@0disoft/openfeature-local-provider\";\n\nconst snapshot = parseJsonFlagSnapshot(\n  JSON.stringify({\n    schemaVersion: 1,\n    flags: {\n      \"checkout.enabled\": {\n        type: \"boolean\",\n        defaultVariant: \"on\",\n        variants: {\n          on: true,\n          off: false\n        }\n      }\n    }\n  })\n);\n\nawait OpenFeature.setProviderAndWait(createLocalProvider({ snapshot }));\n\nconst client = OpenFeature.getClient();\nconst enabled = await client.getBooleanValue(\"checkout.enabled\", false);\n```\n\n## Percentage Rollout\n\n```ts\nimport { OpenFeature } from \"@openfeature/server-sdk\";\nimport { createLocalProvider, parseJsonFlagSnapshot } from \"@0disoft/openfeature-local-provider\";\n\nconst snapshot = parseJsonFlagSnapshot(\n  JSON.stringify({\n    schemaVersion: 1,\n    flags: {\n      \"checkout.rollout\": {\n        type: \"boolean\",\n        defaultVariant: \"off\",\n        variants: {\n          on: true,\n          off: false\n        },\n        rollout: [\n          {\n            variant: \"on\",\n            percentage: 25,\n            seed: \"checkout-rollout-v1\"\n          }\n        ]\n      }\n    }\n  })\n);\n\nawait OpenFeature.setProviderAndWait(createLocalProvider({ snapshot }));\n\nconst client = OpenFeature.getClient();\nconst enabled = await client.getBooleanValue(\"checkout.rollout\", false, {\n  targetingKey: \"account-123\"\n});\n```\n\nRollout selection is deterministic for the same flag key, targeting key, and seed.\n\n## YAML Snapshots\n\n```ts\nimport { OpenFeature } from \"@openfeature/server-sdk\";\nimport { createLocalProvider, parseYamlFlagSnapshot } from \"@0disoft/openfeature-local-provider\";\n\nconst snapshot = parseYamlFlagSnapshot(`\nschemaVersion: 1\nflags:\n  checkout.enabled:\n    type: boolean\n    defaultVariant: \"on\"\n    variants:\n      \"on\": true\n      \"off\": false\n`);\n\nawait OpenFeature.setProviderAndWait(createLocalProvider({ snapshot }));\n```\n\nYAML input must parse into the same schema v1 snapshot contract used by JSON input.\nSnapshot objects, flag definitions, and rollout rules reject unknown fields; flag names,\nvariant names, and metadata keys remain caller-defined.\n\n## CLI Validation\n\n```sh\nnpx -p @0disoft/openfeature-local-provider openfeature-local-provider validate ./flags.yaml\nnpx -p @0disoft/openfeature-local-provider openfeature-local-provider validate ./flags.json --json\n```\n\nThe CLI is read-only. It validates local JSON/YAML snapshots, prints a small summary,\nand exits with `0` for success, `1` for snapshot validation failure, or `2` for usage\nerrors.\n\n## File Loading And Reload\n\n```ts\nimport { OpenFeature } from \"@openfeature/server-sdk\";\nimport {\n  createReloadableLocalProvider,\n  loadFlagSnapshotFile,\n  watchFlagSnapshotFile\n} from \"@0disoft/openfeature-local-provider\";\n\nconst path = new URL(\"./flags.yaml\", import.meta.url);\nconst provider = createReloadableLocalProvider({\n  snapshot: await loadFlagSnapshotFile(path)\n});\n\nawait OpenFeature.setProviderAndWait(provider);\nOpenFeature.getClient().addHandler(ProviderEvents.ConfigurationChanged, (details) => {\n  console.log(\"Changed flags\", details?.flagsChanged ?? []);\n});\n\nconst watcher = await watchFlagSnapshotFile({\n  path,\n  consistencyPollIntervalMs: 1000,\n  onSnapshot(snapshot) {\n    provider.updateSnapshot(snapshot);\n  },\n  onError(error) {\n    console.warn(\"Flag reload failed\", error);\n  }\n});\n```\n\n`loadFlagSnapshotFile` supports `.json`, `.yaml`, and `.yml` files by extension.\nSnapshot files are limited to 10 MiB by default; pass `maxBytes` when a local process\nneeds a different limit. The loader uses a bounded read from one open file handle, so a\nreplacement or file growth cannot bypass that limit. Watcher reload failures are reported through `onError` and do\nnot replace the last valid snapshot. Evaluation never reads from disk on the flag\nresolution path. macOS combines native file and directory watchers so direct writes and\natomic replacements use their strongest event source, and rearms direct file watching after\nreplacement. Windows file watching uses path polling internally to avoid unstable native\nfile-event behavior on Node.js 24. Native watcher and reload errors are reported through\n`onError`. Event-driven reloads suppress callbacks for an unchanged parsed snapshot; explicit\n`reload()` calls still invoke `onSnapshot` after successful validation.\n\n`consistencyPollIntervalMs` is opt-in and must be an integer of at least 50 ms. It adds\nmetadata polling for visible paths backed by projected-volume symlink swaps while retaining\nnative events as the primary signal. Unchanged metadata does not read or parse the snapshot.\nSuccessful semantic provider updates emit OpenFeature `PROVIDER_CONFIGURATION_CHANGED` with\ncode-unit-sorted added, removed, and changed flag keys.\n\nCall `watcher.close()` during process shutdown when the file watcher is no longer\nneeded.\n\n## Environment Overrides\n\n```ts\nimport { OpenFeature } from \"@openfeature/server-sdk\";\nimport { createLocalProvider, parseJsonFlagSnapshot } from \"@0disoft/openfeature-local-provider\";\n\nconst snapshot = parseJsonFlagSnapshot(\n  JSON.stringify({\n    schemaVersion: 1,\n    flags: {\n      \"checkout.enabled\": {\n        type: \"boolean\",\n        envVar: \"CHECKOUT_ENABLED\",\n        defaultVariant: \"on\",\n        variants: {\n          on: true,\n          off: false\n        }\n      }\n    }\n  })\n);\n\nawait OpenFeature.setProviderAndWait(\n  createLocalProvider({\n    snapshot,\n    env: {\n      CHECKOUT_ENABLED: \"false\"\n    }\n  })\n);\n```\n\nEnvironment variables are explicit. The provider does not invent variable names from flag\nkeys. Explicit JSON overrides are limited to 10 MiB by default; pass\n`maxOverridesJsonBytes` when creating overrides or providers that need a different local\nlimit.\n\n## File Audit Sink\n\n```ts\nimport { join } from \"node:path\";\nimport {\n  createFileAuditSink,\n  createLocalProvider,\n  parseJsonFlagSnapshot\n} from \"@0disoft/openfeature-local-provider\";\n\nconst snapshot = parseJsonFlagSnapshot(snapshotJson);\nconst auditSink = createFileAuditSink({\n  path: join(process.cwd(), \"var\", \"audit\", \"openfeature.jsonl\"),\n  maxBytes: 10 * 1024 * 1024,\n  maxFiles: 5,\n  maxQueueSize: 1000,\n  queueOverflowPolicy: \"reject\",\n  lock: true\n});\nconst provider = createLocalProvider({\n  snapshot,\n  auditSink,\n  auditRedaction: {\n    contextKeys: \"none\"\n  }\n});\n\nawait auditSink.flush?.();\n```\n\nAudit events are redacted before they reach the sink. Provider audit writes are\nnon-blocking by default, and file write failures are reported through the OpenFeature\nlogger without changing the evaluated flag value.\n\nNew audit directories and files use private `0700` and `0600` modes on POSIX systems.\nThe final audit path must be a regular, current-user-owned file with one hard link and\nmust not be a symbolic link. Keep the whole path inside an application-owned directory;\non Windows, enforce this with directory ACLs because no-follow open is not available.\n\nContext keys are counted by default without including their names. Set\n`auditRedaction.contextKeys` to `\"names\"` only for fixed schema-like keys when names are\nrequired, or to `\"none\"` to omit both names and count. These modes never enable raw\ncontext values; `targetingKeyPresent` remains a boolean presence signal.\n\nUse `auditSink.flush?.()` before process exit when a short-lived script must wait for\npending non-blocking audit writes. Use `auditWriteMode: \"blocking\"` when each\nevaluation promise must wait for its audit write. `OpenFeature.close()` invokes the\nprovider close hook, which flushes the configured sink without taking ownership of or\nclosing a sink that another provider may share.\n\nThe queue is bounded to 5,000 pending writes by default. Set a positive `maxQueueSize` to\nchoose another limit, or set `maxQueueSize: null` only when preserving the pre-0.15\nunbounded behavior is worth the process-memory risk. The default overflow policy is\n`reject`; set `queueOverflowPolicy: \"dropNewest\"` to resolve the overflowing write without\nappending that event. `auditSink.getStats?.()` returns pending, dropped, and rejected\nwrite counters plus the effective queue limit. Counters are cumulative for the sink\nlifetime.\n\nSet `maxBytes` to rotate the active audit file by size. `maxFiles` controls how many\nrotated files are retained as `.1`, `.2`, and so on.\n\nTreat the audit file path as trusted local configuration. Do not pass tenant, request, or\nunvalidated user input directly into `path`.\n\nSet `lock: true` when multiple local processes may write the same audit file. The lock is\nadvisory and uses a sibling `.lock` file. `lockTimeoutMs` controls acquisition timeout,\nand `staleLockMs` can remove stale lock files left by crashed processes. Lock ownership\nis checked before release so an old writer does not remove a replacement owner's lock.\nThis is best-effort local-filesystem coordination, not a distributed lock; an aggressive\nstale timeout can still allow concurrent live writers.\n\nMultiple sinks loaded from the same package instance are serialized by audit path within\none process. Separate processes or duplicate installed package instances still require\n`lock: true` when they share a rotating audit path.\n\n## Supported Runtime\n\n- Node.js 22 LTS\n- Node.js 24 LTS\n\nBrowser, Bun, Deno, hosted flag services, control-plane APIs, and remote streaming are\noutside the current package boundary.\n","readmeFilename":"README.md"}