{"_id":"@aahoughton/oav-core","_rev":"20-78d44c0f4c37e38be035b6b3f4aea7a8","name":"@aahoughton/oav-core","dist-tags":{"latest":"3.8.0"},"versions":{"1.0.0":{"name":"@aahoughton/oav-core","version":"1.0.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@1.0.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"a8c23c400a492b898697f1fdeccabe34112d4926","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-1.0.0.tgz","fileCount":83,"integrity":"sha512-8kFjhG2t71wBc2+r7nI/6nmvyuZaGx3oQaPDCymjbC7e2lftxOZ5/GoLxym9pEs1pQb1hnQ8W5fgSe04p744cg==","signatures":[{"sig":"MEQCIHVyoeus57ALv/u2E+XdtHPgxr5Z/mTvUfZMzg1RkF2pAiAh6t7C4tBXOtIJJjbrKWBG+c79QM9PYbmhjJulUfrPJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1696966},"main":"./dist/index.cjs","type":"module","_from":"file:aahoughton-oav-core-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","preinstall":"node -e \"require('fs').existsSync('pnpm-workspace.yaml')&&require('child_process').execSync('npx -y only-allow pnpm',{stdio:'inherit'})\"","test:watch":"vitest"},"_npmUser":{"name":"aahoughton","email":"aah@roarmouse.org"},"_resolved":"/tmp/4b0b977d48e01ffd0110ae9d2f72a8d0/aahoughton-oav-core-1.0.0.tgz","_integrity":"sha512-8kFjhG2t71wBc2+r7nI/6nmvyuZaGx3oQaPDCymjbC7e2lftxOZ5/GoLxym9pEs1pQb1hnQ8W5fgSe04p744cg==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"10.9.7","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","yaml":"2.8.3","oxfmt":"0.46.0","oxlint":"1.61.0","vitest":"4.1.5","esbuild":"0.28.0","commander":"14.0.3","typescript":"5.9.3","@types/node":"25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oav-core_1.0.0_1777179363807_0.5893494142557154","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"1.1.0":{"name":"@aahoughton/oav-core","version":"1.1.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@1.1.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"6349c3379ffd11dd3b048487a425fc398522cb1e","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-1.1.0.tgz","fileCount":83,"integrity":"sha512-OtkaU+DQZpMlPDgvQwAjbPSoCq8Vi04RHKpzIONW++gT4dg7O2WjS5pltB7kAKzAqF2cQ9/5hHeNAo3LYD2V5Q==","signatures":[{"sig":"MEYCIQCaI6PI0ZIyCkjyDRkOSuQqDEnE5bXKMSthKL95NlqqewIhALYShuUhaNfuJnWPzI6Smm7LhfnpCrIJNApjA8klDSZn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1706264},"main":"./dist/index.cjs","type":"module","_from":"file:aahoughton-oav-core-1.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","preinstall":"node -e \"require('fs').existsSync('pnpm-workspace.yaml')&&require('child_process').execSync('npx -y only-allow pnpm',{stdio:'inherit'})\"","test:watch":"vitest"},"_npmUser":{"name":"aahoughton","email":"aah@roarmouse.org"},"_resolved":"/tmp/5f53b1d21df640d8f201eecaf10ca098/aahoughton-oav-core-1.1.0.tgz","_integrity":"sha512-OtkaU+DQZpMlPDgvQwAjbPSoCq8Vi04RHKpzIONW++gT4dg7O2WjS5pltB7kAKzAqF2cQ9/5hHeNAo3LYD2V5Q==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"10.9.7","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","yaml":"2.8.3","oxfmt":"0.46.0","oxlint":"1.61.0","vitest":"4.1.5","esbuild":"0.28.0","commander":"14.0.3","typescript":"5.9.3","@types/node":"25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oav-core_1.1.0_1777240333504_0.8234832714404918","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"1.1.1":{"name":"@aahoughton/oav-core","version":"1.1.1","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@1.1.1","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"0be3278525f71523ada9995671391bdc706000bc","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-1.1.1.tgz","fileCount":83,"integrity":"sha512-jaq8Tlg02/7zYjhZRhcKAp229W+7DwU9MwYlqXcW/7+HNVlW1SmLPX5WS2ppotMWchBVDRMoSFfMM0YagQoeYA==","signatures":[{"sig":"MEQCIA9O6qcqPB1q5GzOCowqIXH5KBjUxQKI7AuxUFThUgmhAiB133YbSXiFUw/J4ijJbErQSRJcEmJSRYdV3toIMXb3LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1705613},"main":"./dist/index.cjs","type":"module","_from":"file:aahoughton-oav-core-1.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","test:watch":"vitest"},"_npmUser":{"name":"aahoughton","email":"aah@roarmouse.org"},"_resolved":"/tmp/77d3cf0b421d7ac875b7c367f2c93231/aahoughton-oav-core-1.1.1.tgz","_integrity":"sha512-jaq8Tlg02/7zYjhZRhcKAp229W+7DwU9MwYlqXcW/7+HNVlW1SmLPX5WS2ppotMWchBVDRMoSFfMM0YagQoeYA==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"10.9.7","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","yaml":"2.8.3","oxfmt":"0.46.0","oxlint":"1.61.0","vitest":"4.1.5","esbuild":"0.28.0","commander":"14.0.3","typescript":"5.9.3","@types/node":"25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oav-core_1.1.1_1777253534805_0.2585760995030897","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"1.1.2":{"name":"@aahoughton/oav-core","version":"1.1.2","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@1.1.2","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"b883e1b2d98bfe376f2c8eff611dca858c699c9c","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-1.1.2.tgz","fileCount":83,"integrity":"sha512-oIjwiVb152ZctKvMFtwvqaAgPZimE7FIKSKaFdJh9bcQGCji675YztnqKH6RlwNwy5e3VnB5Cin9ifmIZWZASw==","signatures":[{"sig":"MEYCIQCUWa5vVV7hlml3ubN1CuFtawHwgsA6hY8/Q1WzzpodhwIhAPjAIZP0WsR179OztMliwgtig/q6DyXGYWYixfa86lhJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1705563},"main":"./dist/index.cjs","type":"module","_from":"file:aahoughton-oav-core-1.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","test:watch":"vitest"},"_npmUser":{"name":"aahoughton","email":"aah@roarmouse.org"},"_resolved":"/tmp/1aac4b0a8b189fd3a8c1559d06c45ce0/aahoughton-oav-core-1.1.2.tgz","_integrity":"sha512-oIjwiVb152ZctKvMFtwvqaAgPZimE7FIKSKaFdJh9bcQGCji675YztnqKH6RlwNwy5e3VnB5Cin9ifmIZWZASw==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"10.9.7","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","yaml":"2.8.3","oxfmt":"0.46.0","oxlint":"1.61.0","vitest":"4.1.5","esbuild":"0.28.0","commander":"14.0.3","typescript":"5.9.3","@types/node":"25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oav-core_1.1.2_1777265594000_0.6980981082514104","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"2.0.0":{"name":"@aahoughton/oav-core","version":"2.0.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@2.0.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"14a0f03a475ca898908c7b7c1cfd82daa6fb5ab7","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-2.0.0.tgz","fileCount":89,"integrity":"sha512-XEQ68jR5zdzw1ZzTfN8+95gAhgTG5BKRATqtkMP+vlmvmpGNLAiOSiDud95EkrUaQwdUJpaL8Q2bzOsHxzIoNw==","signatures":[{"sig":"MEQCIA7We+9VhrTXyOcEhsRXls3TNDyhVcLl5q1pTrt9S9OFAiAiJ7frGMTOI1cwiWC3rmGJWY5cYvUq+gOHUBHbK1Ss9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1810804},"main":"./dist/index.cjs","type":"module","_from":"file:aahoughton-oav-core-2.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","test:watch":"vitest"},"_npmUser":{"name":"aahoughton","email":"aah@roarmouse.org"},"_resolved":"/tmp/b61b6c5864af75e90b662afbd61536fc/aahoughton-oav-core-2.0.0.tgz","_integrity":"sha512-XEQ68jR5zdzw1ZzTfN8+95gAhgTG5BKRATqtkMP+vlmvmpGNLAiOSiDud95EkrUaQwdUJpaL8Q2bzOsHxzIoNw==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"10.9.7","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","yaml":"2.8.3","oxfmt":"0.46.0","oxlint":"1.61.0","vitest":"4.1.5","esbuild":"0.28.0","commander":"14.0.3","typescript":"5.9.3","@types/node":"25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oav-core_2.0.0_1777746015622_0.867332217195401","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"2.1.0":{"name":"@aahoughton/oav-core","version":"2.1.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@2.1.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"c975778b980b44945302060ce3b1b327706f77ab","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-2.1.0.tgz","fileCount":89,"integrity":"sha512-pe2JGP0AcNTauFpEjy1f66HmPSwG9+1/7GdbPfcH1wms+rsFnUWPbnScpl2BL7zNa+X1hsLX58/oovN3Zj02yA==","signatures":[{"sig":"MEUCIQCDgOEh2T359M8QlbXeieYyi3NhXwM3+loWADATo8dwcQIgdpqCTn0sXS/x/4EZNUzgqpUq5yXsnj+jQ2rUj8jHJ/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1865242},"main":"./dist/index.cjs","type":"module","_from":"file:aahoughton-oav-core-2.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","test:watch":"vitest"},"_npmUser":{"name":"aahoughton","email":"aah@roarmouse.org"},"_resolved":"/tmp/872bb718f4810a59f82614c9d5aa7adb/aahoughton-oav-core-2.1.0.tgz","_integrity":"sha512-pe2JGP0AcNTauFpEjy1f66HmPSwG9+1/7GdbPfcH1wms+rsFnUWPbnScpl2BL7zNa+X1hsLX58/oovN3Zj02yA==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"10.9.7","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","yaml":"2.8.4","oxfmt":"0.47.0","oxlint":"1.62.0","vitest":"4.1.5","esbuild":"0.28.0","commander":"14.0.3","typescript":"5.9.3","@types/node":"25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/oav-core_2.1.0_1777873095951_0.9149959628885289","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"2.2.0":{"name":"@aahoughton/oav-core","version":"2.2.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@2.2.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"af97442d5a7704564bdf865c7f404e79c1d77e3c","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-2.2.0.tgz","fileCount":97,"integrity":"sha512-XMai1O0HB40Fjp6sEIpWAjhA06IEKQDUajQqAWYG834aXNdNQ+LiRwf8jVLiEv1gwY0L2Tob0Ywzx+LhzAAjbg==","signatures":[{"sig":"MEUCIQDS7fbMIWcSC7RQG5ENafCEmm9bMeTRY7GMKS0F0KQWUAIgOzxTbPlXYpCc63xayRsYdPYf24GNNyzZ+c31MpRncKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2204434},"main":"./dist/index.cjs","type":"module","_from":"file:aahoughton-oav-core-2.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","test:watch":"vitest"},"_npmUser":{"name":"aahoughton","email":"aah@roarmouse.org"},"_resolved":"/tmp/52ecb639cc010629f196729c00d441cf/aahoughton-oav-core-2.2.0.tgz","_integrity":"sha512-XMai1O0HB40Fjp6sEIpWAjhA06IEKQDUajQqAWYG834aXNdNQ+LiRwf8jVLiEv1gwY0L2Tob0Ywzx+LhzAAjbg==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"10.9.7","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","yaml":"2.9.0","oxfmt":"0.51.0","oxlint":"1.66.0","vitest":"4.1.6","esbuild":"0.28.0","commander":"14.0.3","typescript":"5.9.3","@types/node":"25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/oav-core_2.2.0_1779217710226_0.7982355211511771","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"2.2.1":{"name":"@aahoughton/oav-core","version":"2.2.1","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@2.2.1","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"9b6119805a794359c50b23faddd95f617797391a","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-2.2.1.tgz","fileCount":97,"integrity":"sha512-4FmqkfCHB/xdMzBNvmVa6vWGnPJXRp3T2c8+oVR4Pyijb4PtALKjUgNY/2hDmCasoZkop4/0+3rsjPrpHeyVfw==","signatures":[{"sig":"MEQCIAzJ4+a1S7rsWOapVpEH3oS9eP1stKVZF5vVxxvqGH49AiBDV8H3KZztb3ULrW/s/sljLQ8oqnVYASvDWz2CIHmG8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2210818},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-2.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-2.2.1.tgz","_integrity":"sha512-4FmqkfCHB/xdMzBNvmVa6vWGnPJXRp3T2c8+oVR4Pyijb4PtALKjUgNY/2hDmCasoZkop4/0+3rsjPrpHeyVfw==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","yaml":"2.9.0","oxfmt":"0.53.0","oxlint":"1.68.0","vitest":"4.1.8","esbuild":"0.28.0","commander":"15.0.0","typescript":"5.9.3","@types/node":"25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/oav-core_2.2.1_1780699997098_0.16848078506768704","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"2.3.0":{"name":"@aahoughton/oav-core","version":"2.3.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@2.3.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"b695e08392a2336e274e9953f88ab45e84748ee4","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-2.3.0.tgz","fileCount":97,"integrity":"sha512-MHPqoFEWhRoHazseS44NmY42UpWlXh2GuFolvLGTQ2E0HWhIjslF63z01WHc1zc/SmuuZnAEyu/8Ast/s3yQ5A==","signatures":[{"sig":"MEQCIFflFatbNGCMoF5+Uc68qUaxBjkiLsg9/3zvvFBvWZzXAiAuizUJZkQng8dlGpFOKScbeSjb82q5hSNIgrRweD7MKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2246167},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-2.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-2.3.0.tgz","_integrity":"sha512-MHPqoFEWhRoHazseS44NmY42UpWlXh2GuFolvLGTQ2E0HWhIjslF63z01WHc1zc/SmuuZnAEyu/8Ast/s3yQ5A==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_2.3.0_1780762498819_0.3430187187560394","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"2.4.0":{"name":"@aahoughton/oav-core","version":"2.4.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@2.4.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"d2a75878ca07d69c685dcb3c71f63526c5d59b4b","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-2.4.0.tgz","fileCount":97,"integrity":"sha512-n4LlKVzaz+O07MB5Bce5xu+LHlc2geZOAf8A8XYNncefEo0x8J1NmndceYAjSiQMN6aq4Ztsj+tCA2kaJfajMQ==","signatures":[{"sig":"MEYCIQDez4j7NaJJzhNyQnnWlsnHQ9CtnkVoBGFnwiLaM0k3qwIhANWZHFMX4vbsH5XQMOcFqGzSyyVdXK54MTeJhav7pNFS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2285380},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-2.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check .","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-2.4.0.tgz","_integrity":"sha512-n4LlKVzaz+O07MB5Bce5xu+LHlc2geZOAf8A8XYNncefEo0x8J1NmndceYAjSiQMN6aq4Ztsj+tCA2kaJfajMQ==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_2.4.0_1780776940099_0.6079275052024982","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.0.0":{"name":"@aahoughton/oav-core","version":"3.0.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.0.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"6a1dda6c7e2d81a7dbd33a1ec30b02dd7c72d2fe","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.0.0.tgz","fileCount":97,"integrity":"sha512-QEFEw6rdQcb1uKMREtAttunuDZFDRVymjmGjeMEvL+oOS0dwtUKcxsFevPnHVEAI/dtVWxCV93L8dqSiMQqzfQ==","signatures":[{"sig":"MEYCIQD+5FUgif4ozF2KNBkK7UmT2zH7SK0QaXx3Dy+tquI9JQIhAP4AQE7u9ujuGxTyId58qphY7QTDao8aiTLys2VGeg3H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2425700},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.0.0.tgz","_integrity":"sha512-QEFEw6rdQcb1uKMREtAttunuDZFDRVymjmGjeMEvL+oOS0dwtUKcxsFevPnHVEAI/dtVWxCV93L8dqSiMQqzfQ==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.0.0_1780892126987_0.16883640177263204","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.1.0":{"name":"@aahoughton/oav-core","version":"3.1.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.1.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"3f4ead05e488f7cceb8a42dfba7452a80eddf63e","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.1.0.tgz","fileCount":109,"integrity":"sha512-NrLVKi3ev2Li47RdFC8O5YN8EImZ8i80zFf5kdItw/oepQ6lO6YIJo+ruY+UssPSfuE5U2rK+LETIBN6BBgL+A==","signatures":[{"sig":"MEQCIA9ZlnEiJyBM7R4Ldu1M+wTXl2k039ylDA4CIvA977TQAiBkZ96osJ8f1tUJhqLuAOelUpMZdiVAIqt84cVeH35W5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2505492},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./spec/internals":{"import":{"types":"./dist/spec-internals.d.ts","default":"./dist/spec-internals.js"},"require":{"types":"./dist/spec-internals.d.cts","default":"./dist/spec-internals.cjs"}},"./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.1.0.tgz","_integrity":"sha512-NrLVKi3ev2Li47RdFC8O5YN8EImZ8i80zFf5kdItw/oepQ6lO6YIJo+ruY+UssPSfuE5U2rK+LETIBN6BBgL+A==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.1.0_1781036853120_0.4519457182766835","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.2.0":{"name":"@aahoughton/oav-core","version":"3.2.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.2.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"35ac631f73a5fd043a760298fa15ff8064542ce2","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.2.0.tgz","fileCount":109,"integrity":"sha512-6P0VzolhkixJ/kRAgN20llpVoy1+X+zSW1HVD23244uXOdSnbBT4LYQ8wdXBCDNSS4WvDyqQcAwBE7OIZsskiA==","signatures":[{"sig":"MEYCIQD8v5bbn5yiM1c5gdouPRjeLu8Ny54sggIJyGtkXlcCQQIhAPKwPeteX+yIbFyxUAg8ihrVnI4Yo/FQmqLzeSGmcGjs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2591430},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./spec/internals":{"import":{"types":"./dist/spec-internals.d.ts","default":"./dist/spec-internals.js"},"require":{"types":"./dist/spec-internals.d.cts","default":"./dist/spec-internals.cjs"}},"./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.2.0.tgz","_integrity":"sha512-6P0VzolhkixJ/kRAgN20llpVoy1+X+zSW1HVD23244uXOdSnbBT4LYQ8wdXBCDNSS4WvDyqQcAwBE7OIZsskiA==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.2.0_1781211623011_0.2748029251753237","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.3.0":{"name":"@aahoughton/oav-core","version":"3.3.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.3.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"37cf1e100c09577399e5e53fb1be2d8f209a8c01","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.3.0.tgz","fileCount":109,"integrity":"sha512-ZVGLD1QxRBFZSOe+0RIiy09j4wAO6i7WphcTsX5WTGyGx92sEM9eWw5m6dZwk4rXIoPU/xjF4mCB76bIuWKRuw==","signatures":[{"sig":"MEYCIQDs+kVdVSPXe0nhdKImpyUevPZO9FM8PEzWHstiw7t6SwIhALPae75Opyjsge59yfntVap15hafQ5FqcCPSWrqcoRJr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2619463},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./spec/internals":{"import":{"types":"./dist/spec-internals.d.ts","default":"./dist/spec-internals.js"},"require":{"types":"./dist/spec-internals.d.cts","default":"./dist/spec-internals.cjs"}},"./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.3.0.tgz","_integrity":"sha512-ZVGLD1QxRBFZSOe+0RIiy09j4wAO6i7WphcTsX5WTGyGx92sEM9eWw5m6dZwk4rXIoPU/xjF4mCB76bIuWKRuw==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.3.0_1781710954578_0.6634674430961816","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.4.0":{"name":"@aahoughton/oav-core","version":"3.4.0","keywords":["cli","http","json-schema","json-schema-2020-12","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi3","schema","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.4.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"8878f1b52ee6bc4f7e02e9d9e55a8ae2faf79cc3","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.4.0.tgz","fileCount":109,"integrity":"sha512-phSTAlwskJopnXRGBzijPRCV/jxpJdPwOzmOa0ZhC/cFfLvDFo1Vg7z7WwaYIcG+qxCc+PwWeDfVUySYuf93gw==","signatures":[{"sig":"MEYCIQD6ONYLHqZqIuXFO5dmunx1XXs0WIcIVptfhp11FnP8QQIhALKL/3+ftLJbZHUgIDdPEs5ZZx4W1jrf5tVbafIYWeNC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2632390},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./spec/internals":{"import":{"types":"./dist/spec-internals.d.ts","default":"./dist/spec-internals.js"},"require":{"types":"./dist/spec-internals.d.cts","default":"./dist/spec-internals.cjs"}},"./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.4.0.tgz","_integrity":"sha512-phSTAlwskJopnXRGBzijPRCV/jxpJdPwOzmOa0ZhC/cFfLvDFo1Vg7z7WwaYIcG+qxCc+PwWeDfVUySYuf93gw==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"HTTP-aware OpenAPI request/response validator with a JSON Schema codegen compiler. Zero runtime dependencies; install @aahoughton/oav for the batteries-included experience (YAML readers + CLI).","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.4.0_1781997900049_0.7501792382174577","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.5.0":{"name":"@aahoughton/oav-core","version":"3.5.0","keywords":["api-validation","http","json-schema","json-schema-2020-12","json-schema-validator","oas","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi-request-validator","openapi-response-validator","openapi-validator","openapi3","request-validator","response-validator","schema","swagger","swagger-validator","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.5.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"d22840f4da7191747d856a447cc4f6961c9c5cda","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.5.0.tgz","fileCount":109,"integrity":"sha512-t2f4uH1bRdVcI0/6GxR5nXglPw09tCLfGXhFrnV2t9nOmnuw03gDqpDPfaeEO+njWurXg8xFYaprDai98LNaVg==","signatures":[{"sig":"MEYCIQCCgrvZTgRAxNoBwxo7++Hw5h6izbs1mXvTv0eF5szkawIhAJYzWMWJ4E761wS1GVglmlqZNF9w94WdiFOzZFnrozfZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2634100},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./spec/internals":{"import":{"types":"./dist/spec-internals.d.ts","default":"./dist/spec-internals.js"},"require":{"types":"./dist/spec-internals.d.cts","default":"./dist/spec-internals.cjs"}},"./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.5.0.tgz","_integrity":"sha512-t2f4uH1bRdVcI0/6GxR5nXglPw09tCLfGXhFrnV2t9nOmnuw03gDqpDPfaeEO+njWurXg8xFYaprDai98LNaVg==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"Zero-dependency OpenAPI request/response validator (3.0/3.1/3.2) for TypeScript, Node, and edge/serverless runtimes.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.5.0_1782139833435_0.5349843538758259","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.6.0":{"name":"@aahoughton/oav-core","version":"3.6.0","keywords":["api-validation","http","json-schema","json-schema-2020-12","json-schema-validator","oas","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi-request-validator","openapi-response-validator","openapi-validator","openapi3","request-validator","response-validator","schema","swagger","swagger-validator","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.6.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"e64e501f3428acd345272d2ab5cab031715dc47d","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.6.0.tgz","fileCount":75,"integrity":"sha512-z8j6NiSX+YzEMUE/7NS2ANu15/BDqi/pWzk2+E2+uI+MD/ILoWMAjc0SHm38xGuZwEQUedBauvHdxJaBCVJGvg==","signatures":[{"sig":"MEYCIQDJFCSiWJfXK2+N/549R8XJQoOBUmnfzliPhYGPPIxMWgIhAISzCIwfgKSRRHnnpaAavB0xFegSFa1+f1ntWsh5gfAg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1133579},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./spec/internals":{"import":{"types":"./dist/spec-internals.d.ts","default":"./dist/spec-internals.js"},"require":{"types":"./dist/spec-internals.d.cts","default":"./dist/spec-internals.cjs"}},"./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","oav":"node packages/oav/dist/cli.js","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav-stream-validator build && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.6.0.tgz","_integrity":"sha512-z8j6NiSX+YzEMUE/7NS2ANu15/BDqi/pWzk2+E2+uI+MD/ILoWMAjc0SHm38xGuZwEQUedBauvHdxJaBCVJGvg==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"Zero-dependency OpenAPI request/response validator (3.0/3.1/3.2) for TypeScript, Node, and edge/serverless runtimes.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.6.0_1782314699167_0.29184956707183973","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.7.0":{"name":"@aahoughton/oav-core","version":"3.7.0","keywords":["api-validation","http","json-schema","json-schema-2020-12","json-schema-validator","oas","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi-request-validator","openapi-response-validator","openapi-validator","openapi3","request-validator","response-validator","schema","swagger","swagger-validator","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.7.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"4d1a4788dcf942afe41a3ffd0acba3faf64ad937","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.7.0.tgz","fileCount":75,"integrity":"sha512-Ma18RBWxDe4MQxSLIrXpFPX53otnVNiW+xhOj2MTK6mjKkEvOFA/1H7wteB0dJisziR3crVxUCE2K8ob5nhmvw==","signatures":[{"sig":"MEMCIAtHxDt3ICCkUSx79sFGelSymF5tBCbycKm3jthT23z7Ah8K4rCqjzzfilYgBmfnQ1CSA5gadSXJEXMzOMCktVqc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1133579},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./spec/internals":{"import":{"types":"./dist/spec-internals.d.ts","default":"./dist/spec-internals.js"},"require":{"types":"./dist/spec-internals.d.cts","default":"./dist/spec-internals.cjs"}},"./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","oav":"node packages/oav/dist/cli.js","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav-stream-validator build && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.7.0.tgz","_integrity":"sha512-Ma18RBWxDe4MQxSLIrXpFPX53otnVNiW+xhOj2MTK6mjKkEvOFA/1H7wteB0dJisziR3crVxUCE2K8ob5nhmvw==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.13.0","description":"Zero-dependency OpenAPI request/response validator (3.0/3.1/3.2) for TypeScript, Node, and edge/serverless runtimes.","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.7.0_1782425640277_0.9159715399918955","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."},"3.8.0":{"name":"@aahoughton/oav-core","version":"3.8.0","keywords":["api-validation","http","json-schema","json-schema-2020-12","json-schema-validator","oas","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi-request-validator","openapi-response-validator","openapi-validator","openapi3","request-validator","response-validator","schema","swagger","swagger-validator","validation","validator"],"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","_id":"@aahoughton/oav-core@3.8.0","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"homepage":"https://github.com/aahoughton/oav#readme","bugs":{"url":"https://github.com/aahoughton/oav/issues"},"dist":{"shasum":"166de9ab2b4019d0397dfc6c284de7b54d591330","tarball":"https://registry.npmjs.org/@aahoughton/oav-core/-/oav-core-3.8.0.tgz","fileCount":75,"integrity":"sha512-jKuG1ZPAW/5aHwiL2ix9KrVKCry0xp0j5DUF2XaEHm4m5SDBTq+xdh4Xx/Q2lNcxKNX56ssWYyuTtrar9AKl+Q==","signatures":[{"sig":"MEYCIQCgvx/s5DOMIFIqXAT5UV7ECndqwzjrdEM+8zp/+/4phwIhAMD68XEYbaHc59xs/ty6g0p1b9s+VecZv0+TyYqaecVX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aahoughton%2foav-core@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1150298},"main":"./dist/index.cjs","type":"module","_from":"file:pkgs/aahoughton-oav-core-3.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./spec":{"import":{"types":"./dist/spec.d.ts","default":"./dist/spec.js"},"require":{"types":"./dist/spec.d.cts","default":"./dist/spec.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}},"./formats":{"import":{"types":"./dist/formats.d.ts","default":"./dist/formats.js"},"require":{"types":"./dist/formats.d.cts","default":"./dist/formats.cjs"}},"./overlay-spec":{"import":{"types":"./dist/overlay-spec.d.ts","default":"./dist/overlay-spec.js"},"require":{"types":"./dist/overlay-spec.d.cts","default":"./dist/overlay-spec.cjs"}},"./package.json":"./package.json","./spec/internals":{"import":{"types":"./dist/spec-internals.d.ts","default":"./dist/spec-internals.js"},"require":{"types":"./dist/spec-internals.d.cts","default":"./dist/spec-internals.cjs"}},"./schema/internals":{"import":{"types":"./dist/schema-internals.d.ts","default":"./dist/schema-internals.js"},"require":{"types":"./dist/schema-internals.d.cts","default":"./dist/schema-internals.cjs"}},"./validator/internals":{"import":{"types":"./dist/validator-internals.d.ts","default":"./dist/validator-internals.js"},"require":{"types":"./dist/validator-internals.d.cts","default":"./dist/validator-internals.cjs"}}},"scripts":{"fmt":"oxfmt --write .","oav":"node packages/oav/dist/cli.js","lint":"oxlint && oxfmt --check . && pnpm check:deps","test":"vitest run","build":"tsup && pnpm --filter @aahoughton/oav-stream-validator build && pnpm --filter @aahoughton/oav build","typecheck":"tsc -b && tsc -p examples","check:deps":"node ./scripts/check-deps.mjs","test:watch":"vitest","lint:type-aware":"oxlint --type-aware -c .oxlintrc.type-aware.json packages"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3d7e7bd-588a-4775-a404-fc7b8949bd61"}},"_resolved":"/home/runner/work/oav/oav/pkgs/aahoughton-oav-core-3.8.0.tgz","_integrity":"sha512-jKuG1ZPAW/5aHwiL2ix9KrVKCry0xp0j5DUF2XaEHm4m5SDBTq+xdh4Xx/Q2lNcxKNX56ssWYyuTtrar9AKl+Q==","repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"_npmVersion":"11.16.0","description":"Zero-dependency OpenAPI request/response validator (3.0/3.1/3.2) for TypeScript, Node, and edge/serverless runtimes.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/oav-core_3.8.0_1783306961563_0.2648528661682812","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Renamed to @oaverify/core."}},"time":{"created":"2026-04-26T04:56:03.663Z","modified":"2026-07-28T04:29:36.728Z","1.0.0":"2026-04-26T04:56:03.941Z","1.1.0":"2026-04-26T21:52:13.717Z","1.1.1":"2026-04-27T01:32:15.034Z","1.1.2":"2026-04-27T04:53:14.198Z","2.0.0":"2026-05-02T18:20:15.853Z","2.1.0":"2026-05-04T05:38:16.158Z","2.2.0":"2026-05-19T19:08:30.450Z","2.2.1":"2026-06-05T22:53:17.574Z","2.3.0":"2026-06-06T16:14:58.970Z","2.4.0":"2026-06-06T20:15:40.298Z","3.0.0":"2026-06-08T04:15:27.217Z","3.1.0":"2026-06-09T20:27:33.353Z","3.2.0":"2026-06-11T21:00:23.204Z","3.3.0":"2026-06-17T15:42:34.810Z","3.4.0":"2026-06-20T23:25:00.212Z","3.5.0":"2026-06-22T14:50:33.591Z","3.6.0":"2026-06-24T15:24:59.405Z","3.7.0":"2026-06-25T22:14:00.474Z","3.8.0":"2026-07-06T03:02:41.727Z"},"bugs":{"url":"https://github.com/aahoughton/oav/issues"},"author":{"name":"Andrew Houghton","email":"aah@roarmouse.org"},"license":"MIT","homepage":"https://github.com/aahoughton/oav#readme","keywords":["api-validation","http","json-schema","json-schema-2020-12","json-schema-validator","oas","openapi","openapi-3.0","openapi-3.1","openapi-3.2","openapi-request-validator","openapi-response-validator","openapi-validator","openapi3","request-validator","response-validator","schema","swagger","swagger-validator","validation","validator"],"repository":{"url":"git+https://github.com/aahoughton/oav.git","type":"git"},"description":"Zero-dependency OpenAPI request/response validator (3.0/3.1/3.2) for TypeScript, Node, and edge/serverless runtimes.","maintainers":[{"name":"aahoughton","email":"aah@roarmouse.org"}],"readme":"# oav\n\n[![npm](https://img.shields.io/npm/v/@aahoughton/oav)](https://www.npmjs.com/package/@aahoughton/oav)\n[![CI](https://github.com/aahoughton/oav/actions/workflows/ci.yml/badge.svg)](https://github.com/aahoughton/oav/actions/workflows/ci.yml)\n[![types included](https://img.shields.io/badge/types-included-blue)](https://www.typescriptlang.org/)\n[![license: MIT](https://img.shields.io/npm/l/@aahoughton/oav)](https://github.com/aahoughton/oav/blob/main/LICENSE)\n\nValidate HTTP requests and responses against your OpenAPI spec.\nOpenAPI 3.0, 3.1, and 3.2, for JavaScript and TypeScript services.\nLarge JSON bodies stream through a separate validator that checks\nthem as they arrive, and a design-time analyzer reports which bodies\nstream and which must buffer before you ship.\n\n```ts\nimport { createValidator } from \"@aahoughton/oav\";\n\nconst validator = createValidator(document); // your parsed OpenAPI spec\n\nconst result = validator.validateRequest({\n  method: \"POST\",\n  path: \"/pets\",\n  contentType: \"application/json\",\n  body: { name: \"Fido\" },\n});\n\nif (!result.valid) {\n  console.log(result.errors);\n  // [{ code: \"required\", path: [\"body\", \"age\"], message: \"...\", params: {} }]\n}\n```\n\nOne call covers the whole HTTP frame: method, path, parameters, body,\ncontent type, status, and headers. Errors come back as a flat list of\ntyped leaves (`code`, `path`, `message`, `params`) you render yourself,\nor a nested tree on request. Invalid input is a return value, not a\nthrown exception, and `oav` never mutates your `req` / `res`.\n\n**Reach for oav when you want**\n\n- A pre-deploy answer to \"which request and response bodies can stream,\n  which must buffer, and how large can a buffer get?\" `analyzeSpec`\n  reports a per-operation peak-buffer budget from the spec alone;\n  `oav stream-check openapi.yaml` prints it as a table.\n- To validate large JSON bodies as they arrive, without holding a\n  multi-GB payload in heap. A separate streaming engine\n  (`@aahoughton/oav-stream-validator`) checks the body against its\n  operation schema while echoing the bytes through.\n- Structured errors with stable codes and paths, ready for\n  `application/problem+json`, logs, or your own client messages.\n- A spec compiled to a single zero-dependency module that runs where\n  `new Function()` is unavailable: Cloudflare Workers, Vercel Edge,\n  Lambda@Edge, Deno Deploy. (`oav compile-spec openapi.yaml`.)\n- To extend a spec you don't own (a per-tenant required header, an added\n  auth requirement, a tightened schema) with overlays instead of forking.\n\n**At a glance:**\n\n| If you need                                         | Start with                |\n| --------------------------------------------------- | ------------------------- |\n| Generic JSON Schema validation across many drafts   | Ajv                       |\n| Turnkey Express middleware with uploads + auth      | express-openapi-validator |\n| Framework-neutral OpenAPI request/response checking | oav                       |\n| Streaming validation of large JSON bodies           | oav                       |\n| A pre-deploy report of which bodies can stream      | oav                       |\n| Per-tenant or per-deployment spec overlays          | oav                       |\n| A standalone validator for edge / serverless        | oav                       |\n\nSee [docs/comparison.md](https://github.com/aahoughton/oav/blob/main/docs/comparison.md)\nfor the full feature map.\n\nTested against the JSON Schema 2020-12 test suite, OpenAPI 3.0 / 3.1 /\n3.2 fixtures, real-world specs (Stripe, GitHub, Twilio, and more), and\nExpress 4 / 5 + Fastify integration. See\n[what works today](#conformance).\n\n## Install\n\nPick the package that matches what you need. (`oav` is the shorthand\nused elsewhere in the docs for `@aahoughton/oav`.)\n\n| You need                                         | Install                                                                                             |\n| ------------------------------------------------ | --------------------------------------------------------------------------------------------------- |\n| YAML specs, HTTP/YAML readers, and the `oav` CLI | `@aahoughton/oav`                                                                                   |\n| JSON or pre-parsed specs with zero runtime deps  | `@aahoughton/oav-core`                                                                              |\n| Express 4 request middleware                     | `@aahoughton/oav` + `@aahoughton/oav-express4`                                                      |\n| Express 5 request middleware                     | `@aahoughton/oav` + `@aahoughton/oav-express5`                                                      |\n| Fastify `preValidation` hook                     | `@aahoughton/oav` + `@aahoughton/oav-fastify`                                                       |\n| Streaming large bodies + buffer-budget analysis  | `@aahoughton/oav-stream-validator` (+ `@aahoughton/oav` or `@aahoughton/oav-core` to load the spec) |\n| Edge/serverless validator emitted at build time  | `@aahoughton/oav` as a dev/build dependency                                                         |\n\n`oav` is a superset of `oav-core`: same programmatic surface plus YAML\nreaders and the `oav` CLI. The CLI's `commander` and `esbuild` deps\nload on demand from the binary entry, never from the library\nentrypoints, so application bundles tree-shake them out.\n\n```bash\nnpm install @aahoughton/oav            # YAML + CLI\nnpm install @aahoughton/oav-core       # JSON only, zero runtime deps\nnpm install @aahoughton/oav-express4   # Express 4 adapter (transitively pulls oav-core)\nnpm install @aahoughton/oav-express5   # Express 5 adapter\nnpm install @aahoughton/oav-fastify    # Fastify adapter\nnpm install @aahoughton/oav-stream-validator   # streaming body validation + analyzeSpec\n```\n\nWant to try it against your own spec before wiring anything in? The CLI\nvalidates a request from the command line, no code required:\n\n```bash\nnpx @aahoughton/oav validate openapi.yaml --path \"POST /pets\" --body pet.json\n```\n\nA valid request prints nothing and exits `0`; validation errors print to\nstdout and exit non-zero. (Redirect with `--output <file>`, or silence the\nreport and rely on the exit code with `--quiet`.)\n\n`oav` re-exports `oav-core` at five subpath entrypoints (`/schema`,\n`/spec`, `/overlay-spec`, `/formats`, `/core`); on the lean package,\nsubstitute `oav-core` in imports that don't touch the YAML readers\n(`createYamlFileReader`, `createSmartHttpReader`) or the CLI. See\n[`docs/modules.md`](https://github.com/aahoughton/oav/blob/main/docs/modules.md) for what each subpath exports.\n\n## Quick start\n\n### Express\n\n```ts\nimport express from \"express\";\nimport { createValidator, createYamlFileReader } from \"@aahoughton/oav\";\nimport { loadSpec } from \"@aahoughton/oav/spec\";\nimport { validateRequests } from \"@aahoughton/oav-express5\";\n\nconst { document } = await loadSpec({\n  reader: createYamlFileReader(),\n  entry: \"openapi.yaml\",\n});\nconst validator = createValidator(document);\n\nconst app = express();\napp.use(express.json());\napp.use(validateRequests(validator));\n\napp.post(\"/pets\", (req, res) => res.json({ ok: true }));\n```\n\nInvalid requests receive an `application/problem+json` response.\nValid requests continue to your route handlers. Express 4 uses the\nsame shape with `oav-express4`; Fastify uses `oav-fastify` as a\n`preValidation` hook. See [docs/integration.md](https://github.com/aahoughton/oav/blob/main/docs/integration.md).\n\n### Framework-agnostic\n\n```ts\nimport { createValidator, createYamlFileReader, formatText } from \"@aahoughton/oav\";\nimport { loadSpec } from \"@aahoughton/oav/spec\";\n\nconst { document } = await loadSpec({\n  reader: createYamlFileReader(),\n  entry: \"openapi.yaml\",\n});\nconst validator = createValidator(document);\n\nconst result = validator.validateRequest({\n  method: \"POST\",\n  path: \"/pets\",\n  contentType: \"application/json\",\n  headers: { \"x-tenant\": \"acme\" },\n  body: { name: \"Fido\" },\n});\n\nif (!result.valid) console.error(formatText(result.errors));\n```\n\nFor a multi-file spec or a spec hosted over HTTP, compose readers:\n`composeReaders([createYamlFileReader(), createSmartHttpReader(), createFileReader()])`\nhandles local YAML, remote JSON / YAML, and local JSON transparently.\n\n`validateRequest` / `validateResponse` return `{ valid: true }`, or\n`{ valid: false, errors, truncated }` on failure. The default is a flat\n`errors` list that stops at the first problem (`maxErrors: 1`);\n`maxErrors` and `output: \"tree\" | \"predicate\"` tune count and shape.\nEach leaf carries a stable `code`, an HTTP-rooted `path` (e.g.\n`[\"body\", \"pets\", 3, \"name\"]`), a `message`, and a `params` object; see\n[docs/configuration.md](https://github.com/aahoughton/oav/blob/main/docs/configuration.md)\nand the `ValidatorOptions` TSDoc for the full contract.\n\nRunnable end-to-end demos in [`examples/`](https://github.com/aahoughton/oav/blob/main/examples/README.md):\ncustom formats, custom keywords, cross-field constraints, error\nbudgets, version differences, overlays, and spec-derived middleware\nconfig.\n\n### Streaming large bodies\n\n`createValidator` validates a fully-parsed value. For a body too large\nto hold in memory, the separate `@aahoughton/oav-stream-validator`\npackage validates it as it streams, echoing the bytes through to a sink\nwhile reporting violations on a side channel. It is a second engine,\nnot a mode of `createValidator`: your router still picks the operation,\nand the validator checks one resolved schema.\n\n```ts\nimport { pipeline } from \"node:stream/promises\";\nimport { streamValidatorForOperation } from \"@aahoughton/oav-stream-validator\";\n\n// `document` is the parsed spec from loadSpec, as above.\nconst validator = streamValidatorForOperation(document, { method: \"post\", path: \"/pets\" });\nvalidator.on(\"violation\", (v) => console.warn(v.code, v.path, v.byteOffset));\n\nawait pipeline(request, validator, sink);\nconst { valid, peakBufferedBytes } = await validator.result;\n```\n\nNot every schema can stream: `uniqueItems`, `contains`, an\nobject-level `const`, or an asserting `format` force a subtree to\nbuffer. `analyzeSpec` answers which bodies stream and which buffer (and\nhow large a buffer can get) from the spec alone, before any traffic:\n\n```ts\nimport { analyzeSpec } from \"@aahoughton/oav-stream-validator\";\n\nfor (const op of analyzeSpec(document).operations) {\n  for (const body of op.bodies) {\n    console.log(`${op.method} ${op.path} ${body.role}: ${body.report?.peakBytes ?? body.error}`);\n  }\n}\n```\n\n`oav stream-check openapi.yaml` prints the same per-operation budget as\na table (`--fail-on-unbounded` makes it a CI gate). The stream validator\nversions independently of the `oav-core` family on its own `1.x` line;\nsee [`packages/stream-validator/README.md`](https://github.com/aahoughton/oav/blob/main/packages/stream-validator/README.md)\nfor the engine, the buffer model, and the edit hooks.\n\n### Overlay quickstart\n\n`applyOverlays` rewrites the document in memory before the validator\nis constructed. Typical shapes:\n\n```ts\nimport { applyOverlays } from \"@aahoughton/oav/spec\";\nimport type { SpecOverlay } from \"@aahoughton/oav/spec\";\n\n// Add a deployment-specific server. `addServers` appends; `servers`\n// replaces wholesale.\nconst eu: SpecOverlay = {\n  addServers: [{ url: \"https://eu.api.example.com\" }],\n};\n\n// Require an API key on POST /pets without forking the base spec.\nconst requireKey: SpecOverlay = {\n  overrides: {\n    \"/pets\": {\n      operations: { post: { addSecurity: [{ apiKey: [] }] } },\n    },\n  },\n};\n\n// Apply one rule to every operation matching a tag (walks paths and\n// webhooks).\nconst lockInternals: SpecOverlay = {\n  modifyOperations: [\n    {\n      where: { tags: [\"internal\"] },\n      apply: { addSecurity: [{ internalKey: [] }] },\n    },\n  ],\n};\n\n// Tighten an upstream schema; the original definition still applies.\nconst requirePetId: SpecOverlay = {\n  extendSchemas: { Pet: { required: [\"id\"] } },\n};\n\nconst patched = applyOverlays(document, [eu, requireKey, lockInternals, requirePetId]);\nconst validator = createValidator(patched);\n```\n\nThe full verb surface (component-bucket fan-out, predicate iterators,\noperation-level metadata) is documented in\n[`docs/overlays.md`](https://github.com/aahoughton/oav/blob/main/docs/overlays.md); cross-cutting integration\nshapes live in [`docs/integration.md`](https://github.com/aahoughton/oav/blob/main/docs/integration.md).\n\n## Where to go next\n\n| Task                                       | Read                                                                                                                   |\n| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |\n| Wire into Express, Fastify, Next.js, Hono  | [docs/integration.md](https://github.com/aahoughton/oav/blob/main/docs/integration.md)                                 |\n| Stream large bodies / check buffer budgets | [packages/stream-validator/README.md](https://github.com/aahoughton/oav/blob/main/packages/stream-validator/README.md) |\n| Patch a spec you do not own                | [docs/overlays.md](https://github.com/aahoughton/oav/blob/main/docs/overlays.md)                                       |\n| Emit standalone validators                 | [packages/cli/README.md](https://github.com/aahoughton/oav/blob/main/packages/cli/README.md#compile-spec-output)       |\n| Compare against Ajv and other tools        | [docs/comparison.md](https://github.com/aahoughton/oav/blob/main/docs/comparison.md)                                   |\n| Migrate from express-openapi-validator     | [docs/migration-from-eov.md](https://github.com/aahoughton/oav/blob/main/docs/migration-from-eov.md)                   |\n| Use custom formats, keywords, or limits    | [docs/configuration.md](https://github.com/aahoughton/oav/blob/main/docs/configuration.md)                             |\n\n## How it compares\n\nThe JavaScript ecosystem already has solid OpenAPI validation tools:\nAjv for JSON Schema, `express-openapi-validator` for Express,\n`openapi-backend` for operationId routing plus validation, and smaller\nrequest/response validators for custom stacks. oav is aimed at\nHTTP-aware validation with structured errors, streaming validation of\nlarge bodies plus design-time buffer budgets, overlays, and standalone\nOpenAPI validator output. See [docs/comparison.md](https://github.com/aahoughton/oav/blob/main/docs/comparison.md)\nfor the feature map, and [docs/migration-from-eov.md](https://github.com/aahoughton/oav/blob/main/docs/migration-from-eov.md)\nif you are migrating from `express-openapi-validator`.\n\nOn raw speed, oav and Ajv trade wins: oav compiles schemas one to two\norders of magnitude faster, validates competitively on typical bodies,\nand runs a touch lighter on memory than `express-openapi-validator`;\nAjv leads narrowly on fast-fail rejection of some plain object shapes.\nAt normal request volumes these gaps are nanoseconds per call.\n\nFor the host-stamped per-shape numbers, the memory comparison, and the\nmethodology, see [docs/comparison.md](https://github.com/aahoughton/oav/blob/main/docs/comparison.md).\nRaw benchmark data lives in\n[`performance/`](https://github.com/aahoughton/oav/blob/main/performance/README.md).\n\n## Conformance\n\nThe [`conformance/`](https://github.com/aahoughton/oav/blob/main/conformance/README.md) sub-package drives the\ncompiler and CLI against the upstream JSON Schema 2020-12 Test Suite,\na set of OpenAPI 3.0 / 3.1 / 3.2 petstore scenarios, and a handful of\nreal-world specs (Stripe, GitHub, DigitalOcean, Twilio, Asana, Box,\nAdyen) that have to load and compile without error. See\n[`conformance/REPORT.md`](https://github.com/aahoughton/oav/blob/main/conformance/REPORT.md) for pass / fail\ncounts by category.\n\nCategories oav does not aim to cover:\n\n- `$dynamicRef` with runtime dynamic-scope rebinding (oav resolves\n  statically against the anchor map).\n- The `optional/format/*` subtree (`format` is annotation-only by\n  default per JSON Schema 2020-12 §6.3).\n- A small tail of isolated optional cases (float-overflow handling,\n  external-ref loading tied to dynamic scope).\n\nOpenAPI specs hand-authored or generated for typical APIs rarely\ntouch any of these. If they matter for your use case, the\n[report](https://github.com/aahoughton/oav/blob/main/conformance/REPORT.md) lays out which tests fail and why.\n\n## CLI\n\n```bash\noav resolve openapi.yaml\noav validate openapi.yaml --request req.http\noav validate openapi.yaml --path \"POST /pets\" --body payload.json\noav validate openapi.yaml --path \"GET /pets\" --response --status 200 --body resp.json\noav compile-schema schema.json -o validator.mjs             # JSON Schema -> standalone validator\noav compile-spec openapi.yaml  -o validator.mjs             # OpenAPI   -> standalone HTTP validator (edge / Lambda)\noav stream-check openapi.yaml                               # per-operation streamability + peak-buffer budget\n```\n\nFlags: `--format text|json|summary`, `--depth n`, `--overlay file`\n(repeatable), `-o file`, `--quiet`, `--dialect` (compile-schema /\ncompile-spec), `--requests-only` (compile-spec), `--only METHOD PATH`\n(compile-spec, repeatable), `--verbose` / `--fail-on-unbounded` /\n`--envelope json` (stream-check). See\n[packages/cli/README.md](https://github.com/aahoughton/oav/blob/main/packages/cli/README.md) for the full\nsurface, the `.http` file format, and both compile commands' output\ncontracts.\n\n## Versions\n\n`createValidator` reads the spec's `openapi` string once at construction\nand picks the matching dialect. No per-request branching.\n\n| Spec  | Dialect               | Notes                                                       |\n| ----- | --------------------- | ----------------------------------------------------------- |\n| 3.0.x | OAS 3.0 Schema Object | `nullable`, boolean `exclusiveMin/Max`, sibling-`$ref` drop |\n| 3.1.x | JSON Schema 2020-12   | Assertive `format`                                          |\n| 3.2.x | JSON Schema 2020-12   | Same as 3.1 + the `QUERY` HTTP method                       |\n\n3.2 coverage is the Schema Object (unchanged from 3.1) plus `QUERY`.\nOther 3.2 document-level additions (`additionalOperations`,\n`in: querystring`, streaming media types) aren't recognized yet.\n\nOverride via `createValidator(spec, { dialect })` to force or customize\none of the built-in dialects (`jsonSchemaDialect`, `openapi31Dialect`,\n`oas30Dialect`). Unknown / missing `openapi` strings fall back to the\n3.1 dialect by default; configure with\n`onUnknownVersion: \"throw\" | \"warn\" | \"fallback31\"`.\n\n**Swagger 2.0 specs** aren't supported directly: `createValidator`\nthrows on `swagger: \"2.0\"` documents. Convert to OpenAPI 3.0 first with\n[`swagger2openapi`](https://github.com/Mermade/oas-kit/tree/main/packages/swagger2openapi)\nand pass the 3.0 output to `createValidator`:\n\n```bash\nnpx swagger2openapi swagger.json -o openapi.json\n```\n\n## Configuring the validator\n\n`createValidator(spec, options)` accepts options for dialect override,\ncustom formats and keywords, error budget, strict-mode lint, security\nshape-checking, ignored paths, and version-mismatch policy. See\n[`docs/configuration.md`](https://github.com/aahoughton/oav/blob/main/docs/configuration.md) for the option\ntable, custom-keyword recipe, and bounded-error-collection details.\nThe canonical contract is the `ValidatorOptions` TSDoc.\n\n## Framework integration\n\n`oav` is a validator, not a middleware package: you write a short\nadapter between your framework and `validateRequest` /\n`validateResponse`, or use one of the companion adapter packages. An\ninline Express 5 adapter is about this long:\n\n```ts\nimport { allowHeaderFor, httpStatusFor, toProblemDetails } from \"@aahoughton/oav\";\n\napp.use(async (req, res, next) => {\n  const result = validator.validateRequest({\n    method: req.method,\n    path: req.path,\n    query: req.query as Record<string, string | string[]>,\n    headers: req.headers as Record<string, string | string[]>,\n    contentType: req.get(\"content-type\") ?? undefined,\n    body: req.body,\n  });\n  if (result.valid) return next();\n  const allow = allowHeaderFor(result.errors);\n  if (allow !== undefined) res.setHeader(\"Allow\", allow);\n  res\n    .status(httpStatusFor(result.errors))\n    .type(\"application/problem+json\")\n    .json(toProblemDetails(result.errors, { instance: req.originalUrl }));\n});\n```\n\n`httpStatusFor`, `allowHeaderFor`, and `toProblemDetails` accept either\nthe flat `errors` list or a tree `error`, so this wiring is the same\nwhichever `output` the validator uses.\n\nCompanion adapter packages cover common request-validation wiring:\n[`oav-express4`](https://github.com/aahoughton/oav/blob/main/packages/oav-express4/README.md),\n[`oav-express5`](https://github.com/aahoughton/oav/blob/main/packages/oav-express5/README.md), and\n[`oav-fastify`](https://github.com/aahoughton/oav/blob/main/packages/oav-fastify/README.md). They share export\nnames and option shapes; only the framework type differs.\n\nFor Next.js, Hono, Bun, Deno, and custom frameworks, use the\nframework-agnostic `validateRequest` / `validateResponse` calls or the\nFetch helpers (`validateFetchRequest`, `validateFetchResponse`). See\n[docs/integration.md](https://github.com/aahoughton/oav/blob/main/docs/integration.md) for body parsing,\nresponse validation, uploads, security, ignored paths, and custom error\nenvelopes.\n\n`oav` is not a drop-in replacement for `express-openapi-validator`.\nThe adapters cover request validation; response validation, auth\ndispatch, upload parsing, and custom error envelopes stay explicit in\nyour application. In return, the validator does not mutate `req` or\n`res`, OpenAPI 3.0 behavior is built into the dialect, and failures\ncome back as structured errors (a flat list by default, a nested tree\non request) rather than framework-specific error classes.\n\n## Known limitations\n\nRuntime behavior corners. For feature-scope tradeoffs against Ajv and\nOpenAPI middleware packages (draft versions, `$data`, async\nvalidation, response interception, upload helpers), see\n[docs/comparison.md](https://github.com/aahoughton/oav/blob/main/docs/comparison.md).\n\n- `$dynamicRef` behaves like `$ref` with anchor lookup; no runtime dynamic-scope traversal.\n- `style: deepObject` query parameters support only single-level nesting (`obj[key]=value`); OpenAPI 3.0–3.2 don't define nested semantics.\n- `pattern` keywords and `format: \"regex\"` compile to the JavaScript\n  built-in `RegExp`, which has no execution timeout. If your OpenAPI\n  spec is attacker-controlled (e.g. multi-tenant upload), a\n  catastrophic pattern like `(a+)+$` is a ReDoS vector against any\n  string the validator checks. Pass a `regexCompiler` to\n  `createValidator` to plug in `re2` or a complexity-checking engine;\n  see [\"Hardening against untrusted regex patterns\"\n  ](https://github.com/aahoughton/oav/blob/main/docs/configuration.md#hardening-against-untrusted-regex-patterns).\n- Recursive schemas validate by recursing on the JavaScript call\n  stack. Unbounded, a deeply nested payload (a few thousand levels,\n  only a few KB on the wire) can exhaust the stack and throw\n  `RangeError: Maximum call stack size exceeded`. Set the `maxDepth`\n  option (`CompileOptions` / `ValidatorOptions`) to bound recursion at\n  the validator: a payload past the cap fails as a `depth` error (HTTP 400) instead of crashing. For untrusted input set `maxDepth`, and\n  optionally cap nesting at the parse boundary as a backstop; see\n  [\"Guarding against deeply nested payloads\"\n  ](https://github.com/aahoughton/oav/blob/main/docs/configuration.md#guarding-against-deeply-nested-payloads).\n\n## Contributing\n\nSee [CONTRIBUTING.md](https://github.com/aahoughton/oav/blob/main/CONTRIBUTING.md) for branch / PR / release flow.\nDevelopment workflow (lint / typecheck / test / build) and the\nconformance and performance sub-packages are described there and in\n[CLAUDE.md](https://github.com/aahoughton/oav/blob/main/CLAUDE.md).\n\n## License\n\nMIT. See [LICENSE](https://github.com/aahoughton/oav/blob/main/LICENSE).\n","readmeFilename":"README.md"}