{"_id":"@casomoltd/nhs-pay","_rev":"43-f12ac622f52e9edc374b80a1288e7096","name":"@casomoltd/nhs-pay","dist-tags":{"latest":"0.19.4"},"versions":{"0.4.7":{"name":"@casomoltd/nhs-pay","version":"0.4.7","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.7","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"9aa7cb33fd0aea739b51dfc70807671a32bada1b","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.7.tgz","fileCount":33,"integrity":"sha512-ebxUOAe2VrENheU56ZTTgfMmkAknn59vb/4HKxYn1dpl1T1uC/PM56eSecpT8IOLkXJ/nU3DrJ5ut3lQaMiLiQ==","signatures":[{"sig":"MEQCIEZpapAP/pS8flXxzSw4UFHqKBRrYQhMYP8AXbL5wkEvAiBTih7ggDbDmZLZEOx7R4K7MbBF8S9BwrarwaPq/G1/Bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121499},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ca9ff1b7920b60945af1285fec7bd3b1c217f81a","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"_npmVersion":"11.11.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.6","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.7_1782202748600_0.3502894699822814","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@casomoltd/nhs-pay","version":"0.4.8","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.8","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"cf7e0c3c887579b20f0e4209100399e0e511e3ff","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.8.tgz","fileCount":33,"integrity":"sha512-lgVGuB41MJMgAqBE7Mn8oYjrJHk7AkJJpMxA/xIsPfy2fl1sSzObJV6MKNT+kRqlQUITtAKzT+2X5bNLf4yOAQ==","signatures":[{"sig":"MEUCIA3vPHie9dJZtq42jcL0ARFqNFgKvY6rphgYZVTSwsHNAiEA2ue2YIMOrnkKYLe0zJ+vU2ngIg+DicbRtSIwbxjnOYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":121499},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ba4384f26fe64706450eabe6d82b87bdf2dde57e","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"_npmVersion":"11.17.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.6","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.8_1782203335477_0.7966916859523423","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@casomoltd/nhs-pay","version":"0.4.9","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.9","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"ed0aca0db9db00eb5cca05c6798b7e7b84a600d1","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.9.tgz","fileCount":33,"integrity":"sha512-O52GwJhI9oDC/EgyWLM2ZJZDjYEV430wMLpWG+txhhH0vOHBxQG8Jr8owlNg88Nb17LVhD1h+G2lgDlGbqb0ww==","signatures":[{"sig":"MEUCIQDhMqnt4PqDAFPUQvCd3M6PllZglALDVoQLstaMLZjFgQIgS0RPhZPCHfaHveu2Q9veNF/YNE8wn0v02PxBqZK95t4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.4.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122036},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9a34a1de030e841a5963d5d5e0c904035a95bd82","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"_npmVersion":"11.17.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.6","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.9_1782290433543_0.08359142165427724","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@casomoltd/nhs-pay","version":"0.4.10","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.10","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"5561066f1aa4288cc7bb64799ecf4517f6f15dc5","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.10.tgz","fileCount":33,"integrity":"sha512-MaZ2hVBrG8Iz86oE4qI4ZcbuQcbsKq3Q9Lw0ZqTs+1jVsLWjeT5qdXf6flO8P4nTu16gcH9hwZcm7oLPDTfPKg==","signatures":[{"sig":"MEQCIDss/j9fuFt4/HcAQOqq9rOlhA0y5aLCLbh9DchhaOHgAiBPm2cYH6Poc+UlWacQ9QE3Yrx2BRqL9GPsVKCHZWviFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.4.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122038},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0e3531d80118ec0d58b8712b6ff1c71f09a68d91","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"_npmVersion":"11.17.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.10_1782290905510_0.8887716827801277","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@casomoltd/nhs-pay","version":"0.4.11","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.11","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"a852e349416c7c92a8fcfd79ffc9faee12db9658","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.11.tgz","fileCount":33,"integrity":"sha512-azKBGbCG4gy4OWk1gmezNa946nmdfsKN7Qy4se2/0llOg1I6d/MxQ6eIHt6WJOdoCNJcQKzTK837il7h+pw/dg==","signatures":[{"sig":"MEQCIFqi/EpoCL3RgtKtHTuZ14RU1hHjxRLN6vtt/iVSiX2oAiAwoWVz20KmsBL+HbH8NnIgZtikB3GmX6N0ng7GidTvvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.4.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122038},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fddf886185f5ebc9e9d9c58ff445117ca5a08295","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"_npmVersion":"11.17.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.11_1782391105476_0.153649263788582","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@casomoltd/nhs-pay","version":"0.4.12","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.12","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"9f3a5c606f7394865f5c9132437c83f464bbec87","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.12.tgz","fileCount":33,"integrity":"sha512-vIbLTLfBjMEEG8XfSry2VAiWaKcMp2jePvGY7n7NNLzHuiEfe+cVyLMMeNR8AUKE6GCyX7cFvlRg0q/nFcBTYg==","signatures":[{"sig":"MEUCIE1c7qSWoHmgvVAvboWgTF80BbRO+J70UGtwWvbru7k6AiEAxuEhVCJC+vj7VxjzVDZpXpFxYs1KmYC5p41fBH6MW3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.4.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122115},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a79697cce312013042ee269e03ceffc283fdc466","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"_npmVersion":"11.17.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.12_1782394254244_0.0954593751365882","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@casomoltd/nhs-pay","version":"0.4.13","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.13","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"22556759ee6e48ee7f6aafb7d5bf87e7fc4d4924","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.13.tgz","fileCount":33,"integrity":"sha512-l2LhUuY4KgPxKGZt6zE81k7vvOq8L1CKJDI0Qk4ealYlOD/ORAW8ssKCZ723UCTpy+7uOQu1s56/CnSc4lOiHA==","signatures":[{"sig":"MEUCIEpehI2EWMdDPV3riF0VnFkfyoRalNpj0r7KrQZu6D4cAiEA+zhfdgWfgS5npF1uNRgTzqjpCnQzWB33dFtEd17FZoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.4.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122115},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8eca095f3ec07e240317556e759b2260c60153e0","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"_npmVersion":"11.17.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.13_1782398207417_0.19107930249801264","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@casomoltd/nhs-pay","version":"0.4.14","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.14","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"d8e45b492d4639fea08351a6bbe81ec4c1d4623d","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.14.tgz","fileCount":33,"integrity":"sha512-hN56z8ritYrqbANIi0ADY19aoBTmx3olj3zUs4VeHLqOeZJ78CbvoPXXSB+TumBynt1MG3nJEzwNq0P4RhGyEg==","signatures":[{"sig":"MEQCIFpASY9jVQFfHBkRk7t3/sgOIhU7ynhNzc+vI4Q2UqCiAiBqz0W9RiTvc++9mEbO/6qVmMdzE83EhY8NQejjwhBuDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.4.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122437},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d2724ef7463e9ee30a759cd141899098a65413ea","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.17.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.14_1782399513792_0.9691131665169062","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@casomoltd/nhs-pay","version":"0.4.15","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.4.15","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"4d755a4e4cb83187fb42ca580c60f245345abdcc","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.4.15.tgz","fileCount":33,"integrity":"sha512-h1lt6qPQGJ7LgbW1ELH3Ww/p1dcVA+ovNG2ifdnPnsmAoBiIYAhiL/EADno6VftLiIYDGUeoZ98ZNoprdwsriA==","signatures":[{"sig":"MEYCIQDMoamM0BvgZsOC7FmyybSmUbKJa2Pf04PnTm5E+xw/UQIhALmNLxVv/ythuxmPbqCtR5o4is5wrePXwnHa3e7vmsYP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.4.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122437},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"60efe160308b570c38cec1b0648b944b241d9338","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.18.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.4.15_1782806545767_0.39475520375158624","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@casomoltd/nhs-pay","version":"0.5.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.5.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"471b7e01da9daa7ea3e96c4ce72895cd805fd31e","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.5.0.tgz","fileCount":48,"integrity":"sha512-kqM7DV/+zjDYmOJuEbg0LJw3NcTWTsKkjYnHvA5cwiJwbiAjFGJj8e/ceUJ817B5BNcbKsr7K5/G6ohb0OVcMQ==","signatures":[{"sig":"MEUCIDDM7RRG1QnC895Ogv1XoWW/LMh3g9iL6/s+yeY3nng7AiEAvFWQZ4cc9qNQa+gxlyxoqZoa2chi6nuQZIajYTEuyDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139931},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"de1eeb0b28becbb856ca4496e62bdcb0ac296afa","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.18.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.5.0_1783428641588_0.11560915392072468","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@casomoltd/nhs-pay","version":"0.6.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.6.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"4ac97fef190aec4d5cbe8c60309224a7cb5b542d","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.6.0.tgz","fileCount":72,"integrity":"sha512-frVadA6sVPbku/PMHJ3aAZ+8MbfJ3741tJqhknPSm3eZ7D8xv5v6ERsTZUzlVWUGf1WQCJyPD0bw2T360MVjNw==","signatures":[{"sig":"MEQCIGUWucCzK0y4fu507E3j+49ujsw2wW52npXTMPgtac1SAiAz7BG3abLVQ6bo73YrWzdyZHQW5412NC+6XK7J3X9pmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307449},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a603070081bfb85fab97362c2530a308dd5a5b0d","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.18.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"git+https://github.com/casomoltd/tooling.git#semver:^0.10.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.6.0_1783511562821_0.035609220527130114","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@casomoltd/nhs-pay","version":"0.7.2","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.7.2","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"8f565dabf3cf83340c5cb3a308fc40759ab73085","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.7.2.tgz","fileCount":75,"integrity":"sha512-5xEOzBprma5oq616CE03FXUYuTqkASg0LWt7Dx1thkycfc+W5MapnWpuAY4gtWMlka156mj26y6fpoQrlqbmZQ==","signatures":[{"sig":"MEYCIQDXAoF3KSjhs+DipabpcZg00h8OyStaPgpZQetqq/nnuQIhAJQf+NVGr3nN4JtJd33ora8/Ul25Rb6obEbUe6RRFDF5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":323591},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0a2164bf461ea0f2f4ae1955d36f34d9e36ed356","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.20.0","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.7.2_1783673799682_0.2303720210895961","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@casomoltd/nhs-pay","version":"0.7.3","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.7.3","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"f8c957d9675d7c8285d35b1afa936ec4b06e2f3e","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.7.3.tgz","fileCount":75,"integrity":"sha512-k+kJgSJ7IFO9oIdEX2xTErQ5rmj6ny7F+tfTkEIa9SMIAp8ncJUPdhfk9VhkZ4D6sDp8Xiii2x/i9jSdi4EqOw==","signatures":[{"sig":"MEQCIAP6nD5YSD7FLm6AScww5Jeks+rjkCP8U8gpugOPvtsoAiBED/Xf7m7q/2qLo1xVzFpOgmiq0rvZsbGU+O8BFlAaWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":323591},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ec9076aa7c2aae60309311140eab4d8123c8ca36","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.7.3_1784045555751_0.29334639240054994","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@casomoltd/nhs-pay","version":"0.7.4","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.7.4","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"69b583d2f26d7943adc3a2c3eaaccabd50a394b2","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.7.4.tgz","fileCount":75,"integrity":"sha512-lYXOu+RjbN9UZ8xGRf1sp72c5wllh/oVkzuI0T/SSyUYDDVsdNVKer3+XT04jL5ONT2vP0qb0Qm8MUH6a6rTEQ==","signatures":[{"sig":"MEQCIFYEP+/+zRGG5UqUSs0wguSCgM9ALKH22NLLf62uvUvQAiBnK2z7uYXphYdUoxy+2A/rAfIo27v9TZjWaTR0nwCR4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":325770},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b4fa5bfc98e24bf1bee6cab9d267c7b8af315645","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.7.4_1784277114787_0.6545552261888024","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@casomoltd/nhs-pay","version":"0.8.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.8.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"c668d87227ee952fda4bd3bc24b422eb2300c295","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.8.0.tgz","fileCount":81,"integrity":"sha512-Uo7CmALgLpUkcxMig8H0hNlXKmQasc5deSFlErAj6YpyhcEpg1xYLvgkOT5djDQglGoZ9Stzy5K2FJzRMVKnZw==","signatures":[{"sig":"MEQCIBK+al7jJeNrgxcosgU/hVcwCu2rIXAeLvQV+0f5in6vAiA1p7kQgdW/UyLga1OWTzCLvixdSHb9I+SNBrMyG/AnCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":391668},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"387099dc3ba4e3d0888c364206d65738d14f16d8","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.8.0_1784654123844_0.41458062384042704","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@casomoltd/nhs-pay","version":"0.9.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.9.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"b76d88bc88daf0ea5e3b192f5d0be127d6c19b4c","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.9.0.tgz","fileCount":93,"integrity":"sha512-ZF2TUAvoHvgzSE9H9L/KKQoELGe/Hs9772Rd0438w7vRsh0/V15IVIK0yeDbSAbeR0+f17uax24VovEUurHDKg==","signatures":[{"sig":"MEYCIQDB7u9eh4O7M7bqvKO6maom2mLDwTe9S+AsHRI5u2PFtwIhAI0gytWa8SZePE4oBpov3+2sZn+CejVq0Y3ZxixwkhqR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418162},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ab0d126ce34a1a3394947a3bf95ca5bbd9665183","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.9.0_1784720822785_0.5310342705254394","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@casomoltd/nhs-pay","version":"0.9.1","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.9.1","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"40787f7298c377ba7e00ab3c56aff76800f81331","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.9.1.tgz","fileCount":93,"integrity":"sha512-jTzw6tNnBItlPrr6WAo1WyQSsK5rBgZ6+TLP/to8Vj7Jpv/iNpgB7A4f2+CcvAKGrcZhnHUB1P7QeUJOnQWMgg==","signatures":[{"sig":"MEQCIHOgMieuhePssZVtvHJ5oFfSKRoSpFo9OcdQ43adHaZDAiBydO4OHG6m59eTc3qVnnlGXW/iqaSY6ZUrZ+HdhQh0Mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418162},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5b0a30814f0cdcd3621a85d015c46fedc3131204","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.9.1_1784731283045_0.8572151249094955","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@casomoltd/nhs-pay","version":"0.10.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.10.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"d58087ad42b6de356a27d665ac5a54f66d0e8438","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.10.0.tgz","fileCount":93,"integrity":"sha512-ciV4iA46ak4aMfZSNDOxhCHZ0+WYQQLFCjJ4Oj4uUYidupfYAScxs0gwGlvtcrthjvuZzokV206MCj1k5RuMBg==","signatures":[{"sig":"MEYCIQCS4HWoUnnYj20bHt8ualLTnKMWe5RDYWFp4fdPPKXvyQIhAJ0U2aqXFBwi2Zd38g40kBNQbz8ohv0MBTTr29CRs04n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":420330},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"abc1985f6ef14eb3e8cea649da9a89b18e2e999c","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.10.0_1784785188323_0.1291310112336943","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@casomoltd/nhs-pay","version":"0.10.1","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.10.1","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"8a1bcf46a9580c93f5f9335023cac43b062782da","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.10.1.tgz","fileCount":93,"integrity":"sha512-fqAl+NIrl4TBkAbYY5lvrpF2+oeeMiehwK0MlGBsnHGgzDJe4kFD3HVqzk6k2Th3RHB7GjTr7w+tlmHWYX3shQ==","signatures":[{"sig":"MEUCIFzJniFz/BKZf4jcR7Cb/wlCcPmlzn9aRhpxmw/yyvtQAiEAwp5N2ZRD4fJ2iSZZnncGTbja2huZqXvkmRRv1M2zObM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414194},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"28fe292410d6de21d05e2a863672d33e322b445b","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.10.1_1784788617342_0.8204403416826545","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@casomoltd/nhs-pay","version":"0.10.2","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.10.2","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"a0465239a9e3ade51e6e5f7c8e8bbd3c999f59bf","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.10.2.tgz","fileCount":93,"integrity":"sha512-cm1OQn2ZFl+ppAi9ujypY82IGg7XsREUh4B3ivVFSXM2zuhm3qcEx4FkJFdDrwUqZHFPcBhBpeQ6WENc+r2hWQ==","signatures":[{"sig":"MEYCIQCxjvdi+FYyz0CXDk2xGKUp0WBn2A/XE09B7eWrb05cNgIhAMMqQJj0fCRXTEQu3xhov/Xw4Zk2WrxlEr/l0F6qkLFi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414194},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"69501c0516d21baf53f2036aef75d9d47092cb5f","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.10.2_1784803479719_0.10590635426081918","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@casomoltd/nhs-pay","version":"0.10.3","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.10.3","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"d041cf41d2146cce6ba45cfa1e258930816ec451","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.10.3.tgz","fileCount":93,"integrity":"sha512-upUPN6b2HIrKa1R3pYXmyHJeg5gBHSlDTcrCcWE9sbLZqjJS4LR4HFP6Yh221zPfa2SQkVk0tLfWjizQmsqhhQ==","signatures":[{"sig":"MEQCIGdc0nno8QISEz626+gMrkxtD5wJQgZ4w3J2c3oM/RtUAiAPL2ujOn3BFHS/3bZVuhhthZwP59qpFomKmZtahjmCdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414194},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"44fc153de5afd6598d77a9e1198640615ef6a7f4","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.10.3_1786343617197_0.23684654935775717","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"@casomoltd/nhs-pay","version":"0.10.4","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.10.4","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"caa7882e05ba8f7091895e1c6d4a4afc8db53dab","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.10.4.tgz","fileCount":93,"integrity":"sha512-DWB0XlfTn3JiK+W+W/fsj+JCTGoKvpPsiIN3P7dqmRwt1kzAq7NqZD+yJmj9vqv/evNqw06Qh1FLL7tsun+egw==","signatures":[{"sig":"MEQCIFQqO+b9CvHKCBGywPNv9n6zIe/pUy2CGOXb7H5EVy0CAiAfM/zLzJ5QSZpyyL0fpCKo1L+4lSbegFh2towOEhdahA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.10.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414815},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b27886603707a11ff8c923c21c248cd6edd80298","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.11","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.10.4_1786545932133_0.29109167300129535","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@casomoltd/nhs-pay","version":"0.11.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.11.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"ab7ea92e37a5282254ee35c3c141ebe9207dca70","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.11.0.tgz","fileCount":99,"integrity":"sha512-fI8y1DEM1XmW26UbcY6GACrOW5eOcIqs/HfXLoLkm9EyGcIXNRXr5RzEBVtEDs2pAeapsD1G8Z+7TuJ6GNz5TQ==","signatures":[{"sig":"MEYCIQCOlvOBggNdzmIoE5VAdW1p5Y8jVIHlL2wR9iIG4ODi8wIhAOD19Bgv4eNIUaxEjoR1Swyy7X7i6jVVuYwdgUdoe9Eg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":444821},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"75f36ec8519e8970d8491f6985a1ca524f2ae515","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.11.0_1786977418220_0.15337605537289067","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@casomoltd/nhs-pay","version":"0.12.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.12.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"6b408aa0bbcb3744a8fb7d4dbc306ed6cc910917","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.12.0.tgz","fileCount":114,"integrity":"sha512-Jr06XzR7GpqItu8Dx8SwMtI/IOyHm8WrqGCe1uPOrZ2P7t68XEWV9FfCwbDASMB0E0Sw20Gp1ZUn6iTUkgiYGg==","signatures":[{"sig":"MEUCIQCQKW3VO6xlA0HsiYu9kWX2KIaSX37jYVFTkLYw/ON8bQIgF3OKhiPRzQcrgoJIuQM+lltppVuZPlOS136MW+lnEmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":551723},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8181e06e01eb0386e6816c4368deee3cf2eed929","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.12.0_1787328396200_0.9484587480904807","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@casomoltd/nhs-pay","version":"0.12.1","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.12.1","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"8f39275c383ac2b2928a5a26ba8287231d6198d5","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.12.1.tgz","fileCount":114,"integrity":"sha512-Iidc5ynlmfb7+gEPsi2s0VzzKka9hyybvNOKigWcuZJsFd5dFtC1vzug+uTRlwjIEcQivB7vgcA75ynW2CWkpA==","signatures":[{"sig":"MEUCIQDkGBMbdEstICaN9+YNQ7PUe651DwOsFLZY3sKsW6xBggIgcNVM+JBjwzJm5pFS4e+xU10n5S3SndSYaNnjf//4h0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":554324},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"35dba9dccf807fced8949022cfe7e2b0da40dce6","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.12.1_1787402673361_0.3915742952482606","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@casomoltd/nhs-pay","version":"0.13.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.13.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"83639889037f154a9837aa588082ac19aa7a60f3","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.13.0.tgz","fileCount":114,"integrity":"sha512-spIaJP5CNt4FBMxOioUMot26tBiTuDUBxPLeA8ZGrgmmYiXNxXA7/FSIaQJlhgr8uIcPQqV0yCSeD268MoYUVw==","signatures":[{"sig":"MEUCIQDifat/8lWvFzpE4/WM1/z2iynVx3ebwu0mHlKrDkYHPAIgA4JhRMl3HMfuygY92vpc/cO4uVBX7MbLD4k7AsoGeRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552628},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"752727f4e7c7cd06f578eff52585aea393ad3daf","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.13.0_1787411892115_0.06275603188408407","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@casomoltd/nhs-pay","version":"0.13.1","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.13.1","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"a55c6ac0a2ec76bbb90a1c2d3a763a8cefbae9c2","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.13.1.tgz","fileCount":114,"integrity":"sha512-GXsquXxDg1CAd/x0RZ6WLcXTyDeLkyyb+DNQ5+lda1qMSIrv3rR46LYC3GLsCuBx5FgKBWYohiR5VK8iGYZR7g==","signatures":[{"sig":"MEUCIQD4Pa8ByCemRGRdzYh3JMghXTzOZpA1jtiUpyx4IygBNwIgEq/BkhTk61AEgudaTlg355r+d3v9U+MKd6jqQy2th64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":553317},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c577fdc9500e1a48cdb52c3477d53b9f08853f34","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.13.1_1787417495422_0.2514304956540656","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@casomoltd/nhs-pay","version":"0.13.2","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.13.2","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"4c2bcea8dbc045e379a79be23466f17fa0ec72cc","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.13.2.tgz","fileCount":114,"integrity":"sha512-LAeYOEJetIorjOm3zHHBdgAnxpKMsfypu18mOD6PBpD6s6YAPwmiQujw7rWmTUad7oWULx7nsVQkSdQWhT0PEg==","signatures":[{"sig":"MEYCIQCr+my7gQqLux4ElcxB4KY242HMy6HwInXNXyMToiJbNwIhAIP+Hq9Znahdf3+ESg3A10yNEQvk9JvsX+vmyoIBmHd4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":553317},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"af2b44ed1b06c400a4c1fa284ed4cd22ce4889bd","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.13.2_1787550748222_0.4823616332571039","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@casomoltd/nhs-pay","version":"0.14.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"LGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.14.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"e709ee62d0988e79570e753efb9c37737067bdea","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.14.0.tgz","fileCount":120,"integrity":"sha512-/8DOPQhHvJ5/heZn9CzZNf2pD7q9fXCYH9AqlLL5CnnDN29dlskdnhxyJyX9vcOTUDuge/XnnNPEyMHYSoILdg==","signatures":[{"sig":"MEUCIQCTilFFiDp6UQUax7yHU/bfqpirobMjAeqaer8xoLc1kgIgDP5frviOgisXFIkjm0PUDDgIQxV8saBR7jwzIprw/EE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":587451},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"78a77c64873a78d65cbcc14ea2bcfb4ab5c4d9fd","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.14.0_1787816990031_0.84302383703446","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@casomoltd/nhs-pay","version":"0.15.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.15.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"ca601db31a64528b7b61baffadb0e35af5d824ec","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.15.0.tgz","fileCount":120,"integrity":"sha512-PiRJcJ7W6rqG3T8wmv3dPeRQZivceaR2qFI2eKqzJp5mVDhDwMt3mtEvwkormayfe4d5vYbILaYj/14h7JV8MQ==","signatures":[{"sig":"MEUCIQDo/u2Ogs32/KVX55ivyaRbA5yIj/4I9xbN9QEsSvXnOwIgIlkKnXYEmQU0OrUqlltuEkmMLAvIWzP90lOzPeYbL3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":614773},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"511921d59085ded5c39081c90005be8565bb1ce7","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.15.0_1787899903599_0.08925227314656636","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@casomoltd/nhs-pay","version":"0.15.1","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.15.1","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"3bd45118e7850eb574f252417b89d15ac5ed6201","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.15.1.tgz","fileCount":120,"integrity":"sha512-CX6E+9n9mDatsuiO51QtWrUEuxae+kFxZAIhsAHQ7gr2MxwyGuRtswySCUY4dXgOLiR4nuKPTvohdsk9AJ2P4A==","signatures":[{"sig":"MEQCIAGPmqOB4JmhfT2RDn6MObB4OXqBnF3mG1CM7sSQVzAxAiB5gtS+I6wurog91kZLNV/lzIlph345wS50/AH7QzW31g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":614790},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0fc2c6c206e80fb2417c7a684845c7d1580d33f5","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3"},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.21.1","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.15.1_1788165925454_0.7460385730502495","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"@casomoltd/nhs-pay","version":"0.15.2","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.15.2","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"07db342adffc44580d30792062c08117a1e7fa2c","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.15.2.tgz","fileCount":120,"integrity":"sha512-HRnK6VYViY7rETlujc2JfOT2zkbXwaEhcnEAWCRwEw68uSazwICkM6aaYqVsavTiF/rkrGGfkW25+Eb1a88mzw==","signatures":[{"sig":"MEQCIFreyL6ETjK8f4uNmELSUahoD9JoywSdfDfB729Q9bD2AiA6YK9I6ryeas4MMZlJTtVMgXu/au/xkPUx00SNmvUQaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":615548},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7f82c3527444d0c729cbdb845412b7d1f17f3acb","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.23.4","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.5.24","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.15.2_1788171633736_0.0817396824798351","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@casomoltd/nhs-pay","version":"0.16.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.16.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"904ae0d06da0e3a9dba3700c6c92d6fe0b61f2b9","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.16.0.tgz","fileCount":156,"integrity":"sha512-UX2fMD/t7ortNnMQMKk8vxigW5GSZVyg6R+4DnIqcvXCzFRtJ+A6MgSzKIyQ8FHSdkO0IyIshVN4KDa4DDkBUQ==","signatures":[{"sig":"MEUCIQCnyzyx2S2BRLG6nf1SZbvQ5dBFdZ+ZarUWZtV5kOq3PgIgDu4r2k1KcB6j69le6JnjdUrpIP/SSLlmmi+RZKyGIJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD4IyDna1J+qMtvpOLnVW6y/m+kiTNts/bUdVvGPwYrrQIgGqzsD7jvpJdb0FUWmc/kO016W4GHOFUI7BLZ9pkGAGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":887917},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"481b5b9d5cd01cbd01f9413b33d51e743671f978","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.9.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.24.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.16.0_1788570060957_0.9566889655060691","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"@casomoltd/nhs-pay","version":"0.16.1","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.16.1","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"5d7b394a3bdf29698ca005b2cf3f58431f0d44f9","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.16.1.tgz","fileCount":156,"integrity":"sha512-UbI03SkSiuw1xNeNuJXvbGInjKRsQnE5XkkkP1c4y707n20r08g1IOhiUo1F91gYK2UF/Tj8+bscDQe+6LeOfw==","signatures":[{"sig":"MEUCIH89DN8FNvgiQZQdcJeskIjINxwTG3tByLK+WK92HFfkAiEA6H3IyXfZ4N4PXyZQKCvaU/gVPf4ooKoMvuFG5Mkfbo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHxtgPsoiUNY0NijyL209Ioi/YqoKb6OSwzV4PdjykItAiBdvT0f1diO1KKXgEnDK7SVYNtxP8q7FgfcdEt+okGJiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":887917},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2bd57529d3af4777a601819c73f27f3e84016d13","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.24.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.16.1_1788771444768_0.23305617098788378","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"@casomoltd/nhs-pay","version":"0.16.2","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.16.2","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"ea385719432dc1d24c01d986680751ebb3b26072","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.16.2.tgz","fileCount":156,"integrity":"sha512-LiPyPtOBMnVQtRAZihA1nvM9pGM6LuE8/xJ/LjbYLG54Xi8XCJ20fC0+nUQTxLA1F6xeWzubdRZkeVKdAerSyg==","signatures":[{"sig":"MEUCIH0LDk3wMWgyHWDdoy4dZai7tcwYBvXcyv6jkjaugtbwAiEA07tnHhlPWGhYbKmT0jl43HkhwSOcDUldzpctSKGkWsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDnHjuGpe6KhGPjTjFX09TRnDe0jEHwkDwdQPKscCZWigIhAMdgXSLgVwICDpEl6SFABaYJUVQ3Dg2DN5boiCgc1xwg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":888885},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"be20889633844338722d3d311bb5cb4901fc01fa","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^3.0.0","csv-parse":"^6.2.1","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.24.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.16.2_1788787144221_0.33227073971705234","host":"s3://npm-registry-packages-npm-production"}},"0.16.3":{"name":"@casomoltd/nhs-pay","version":"0.16.3","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.16.3","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"5b1efb546de5fb1e2a273aa8e1a957e20eceeee9","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.16.3.tgz","fileCount":156,"integrity":"sha512-rKFfWHCPxNEiC8jRWFK+KpnNfvvljnR+GHwLy9HxEE41DyyhY7Au4R9Kqx+4HMnXCvlR224gYtrUsDY89WEWDQ==","signatures":[{"sig":"MEUCIQCBG6aneumVULVnOUMjtVvxsrgCLrW6953Ncyi1w6+jDAIgbEkZ4GwhO6EwgnZ4mZ+HvfxBu7AyB5IsNcqIfOMIARk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDb/cAURqCVS/7mniI6xavrqEZTlFgFfQ9TXZ9y/58znwIgIYhxxdaMm8Q5ckDjwZqwEbyia85wAgvpUe2oELoS0sU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.16.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":888886},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bf55d0021438ae203a03a9f34110ef74d0b041db","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^4.1.11","csv-parse":"^7.0.2","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.24.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.16.3_1789018175981_0.48435924673639996","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@casomoltd/nhs-pay","version":"0.17.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.17.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"0ef637f47e75c21fb40d338604f3eb163fe7fd10","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.17.0.tgz","fileCount":156,"integrity":"sha512-8Crclci85LCzzqsrLgd1I47zhQutGH3FIHeAaD5V1Acsqk6nDaOyYHwrVxRu77pR/RrAIbGJURHhf9Lqu+VnuA==","signatures":[{"sig":"MEUCIBAjJBXg+M8wdKWqH0uCATkHOxKBwmRGy25UXV4SzzNRAiEAkPQ9LjGsPx9mKdb0roeg7yTEBg+YnhVf7nNVdM13dos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEbLCujnWL1lEeg6LlByshSTFPEPN0Jf1P9Cy0PzTfN3AiALrqEnGFJV1aeGXVyEfM3jT12tWvGxWMknWdOdZDLd6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":892623},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5e89bc04b76c3380c3adcb80fe1b8d716d3ca278","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^4.1.11","csv-parse":"^7.0.2","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.25.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.17.0_1789378083942_0.19277766794826534","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@casomoltd/nhs-pay","version":"0.18.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.18.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"a5e340c0a3156601c13ed272d11ec0d67d0076ee","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.18.0.tgz","fileCount":156,"integrity":"sha512-oSa8aT0Vj1fx6Biy/Llx9vgzfvIZokUZOqeGImt9nLdVBzd9x47ef4eOjp3IPHJUWzyl8oTRrpPD5CkY98KoEg==","signatures":[{"sig":"MEUCIG8RBHVZ6dnDxu5/8/Enz8Oprd+y5FSk8Tz+28nzh6Q+AiEAjzU1kDfboEvFtJ4g8RkkP1FfmgBo+X6lToVVGW/569w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD+QbZAa5VeoFfyQ83T9j7QtuL9m9WD6ocVp1NZGYYaqgIgWY5mACrpNYOjzLwES1XBaYui8cyngY2jMsQHHDwq0Is=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":899364},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"85de2aa17ae5cc4af8005fe7d38a889917ca99d0","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^4.1.11","csv-parse":"^7.0.2","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.25.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.18.0_1789384941498_0.4968517244311459","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@casomoltd/nhs-pay","version":"0.19.0","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.19.0","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"487e27137856a465bca594e1747e024cc96604e0","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.19.0.tgz","fileCount":156,"integrity":"sha512-/bh5KClahhwLW1mCFM1TgwdD1XQnD/vm2uvmFD8JUeJ1h6xKM1A5Q52S/y62zIlLa8/+cAkxih8ADdaBBpRJaQ==","signatures":[{"sig":"MEUCIAk7RSrOvExmEIX3RbVkzb+kZdTZR1y1+7HstRCBfnX4AiEAo3IX0MaS3bM0PGzcPbTNTlyuc9k4FY7R1g84U4QpeiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHMKUsX1C5+M6ogZtD0kOLzoFTBM/vUwcwlcZKCVHUW0AiEAiKYz6GIpFs3HaBUvQMFjLH7luwSk7VmYbkbMq4Isvqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":901636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5696a9e1105ac6695d669bf587cb4d757dd42b64","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^4.1.11","csv-parse":"^7.0.2","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.25.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.19.0_1789391963008_0.1346624854541787","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"@casomoltd/nhs-pay","version":"0.19.1","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.19.1","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"68504873ded28a4c99eb4a5f816318bf09e838d7","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.19.1.tgz","fileCount":156,"integrity":"sha512-i/3AldCO/+Unsln9rjOysNM9VweXunujTSsdv/+u575ppJuKM8qiRkAqJIzTYsDPMHTeK1yfjxXHpmHv0rbmQw==","signatures":[{"sig":"MEQCIAgkngAtuAwCGeiiCORcmEX7+QjgIrMEOtBEK6EQD0dsAiB8QFQeEK23JT5QF6TqZiMkEFGOtVxXyqYcMNIr3DlQ9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHLIyIc+duwstVfxNK+cZbY325NmcgxRuLFVZUD/ePC+AiAI7fZvROkPg/1OtZnrsVjBCczZbKG7tHoWOXechleqeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":901355},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4656762e6f7852f37c05d32f7b3250c9a3397eb2","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^4.1.11","csv-parse":"^7.0.2","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.25.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.19.1_1789394575301_0.2920126005919652","host":"s3://npm-registry-packages-npm-production"}},"0.19.2":{"name":"@casomoltd/nhs-pay","version":"0.19.2","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.19.2","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"a7d294886197c98edcd1484c9d5bc8ea0078e35e","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.19.2.tgz","fileCount":156,"integrity":"sha512-PR4inRtyn8fzhtrTEQhhXm1Dy4j8qJ4HXGPE0KAUGheWPNd1wN+UHCeXyj3RsM6k2g5I09SbjPESyva4+KCdlA==","signatures":[{"sig":"MEUCIEgGhSIVlE0wZ0OXNfJut2f53oYYEX2M/Led4W3PxEdqAiEAtGkZDYMD1SCjnikoQ8A36yIWw3ubDzvPhzzHbAdGr58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICyHoqTAlLM0bBIycoMdFYs5EF7sxUSE6NxazNZvvvPBAiAs0q1ZsSbbtM2Tw/lpZRMmxoq/nKSJbhQ7dXCDvYOg7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.19.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":901355},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"053ce8323e1e26fae38ee88104d6b1af93897143","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^4.1.11","csv-parse":"^7.0.2","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.26.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.19.2_1789451350875_0.8763732786557308","host":"s3://npm-registry-packages-npm-production"}},"0.19.3":{"name":"@casomoltd/nhs-pay","version":"0.19.3","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","_id":"@casomoltd/nhs-pay@0.19.3","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"homepage":"https://github.com/casomoltd/nhs-pay#readme","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"3b80e5cf74875742024b8ae4584a5afee2d439ce","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.19.3.tgz","fileCount":159,"integrity":"sha512-jb8exwzZ2rahC9yZ6dvrwpaJdKkGe8ePkcVH1GU7lk4wf6gWh4JFw1ZsOLWfsIqgB0PtjfC38wC1KedA+2gKfA==","signatures":[{"sig":"MEUCIGbIpRL4ZeSjcRTWcKEulv0IhenUCRqsKAoLHX9N31daAiEAxdG39+mZJJTVOKlNLfZWGxVtfmOcsYlvVFzWApo8HP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGsw7WSrZ06fSvpOke22FssTC91hBQ32U6r+l31q+ilqAiBjF0K58ZYGc5tjN3GztuFufUj4y+cz6dLq55SbsgrowA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.19.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":927029},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e1df6131d316b447d6009fa88c69df872d40d666","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^4.1.11","csv-parse":"^7.0.2","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.26.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/nhs-pay_0.19.3_1789538725430_0.164922087610897","host":"s3://npm-registry-packages-npm-production"}},"0.19.4":{"_id":"@casomoltd/nhs-pay@0.19.4","bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"dist":{"shasum":"0d769a749f6e6423e9bd12a4af9b5db8ab0cb86c","tarball":"https://registry.npmjs.org/@casomoltd/nhs-pay/-/nhs-pay-0.19.4.tgz","fileCount":159,"integrity":"sha512-98cc57ASIAku8s/ftp5Crq6Go8+hAjvaU8gu7ICyIATGKi+CS1+M5steEfWNDNQiahwCEfFA/OjHAiNGXf8KRw==","signatures":[{"sig":"MEYCIQCzdYitTI4nMgdqRkBn5flXJjujiN+ifjdapegwdLT3PwIhAOEDdk+vdQoDY1V+n5wBp40CJ/NnVNdeXS86DPHH7usm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBx3aEmDMFz6YBRQp7pUi4X4nWYGOKxjLVSWS3PkT4mdAiAleLKJlIXRUVf5EBeh6VckbDbkl1S7z5gTez40Zx6rKA=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@casomoltd%2fnhs-pay@0.19.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":929288},"main":"dist/index.js","name":"@casomoltd/nhs-pay","type":"module","types":"dist/index.d.ts","author":{"name":"Casomo Ltd"},"casomo":{"gates":{"spell":"no shared cspell config exists yet","lint:md":"script exists and passes by hand, but remark-validate-links cannot resolve the `<a id>` anchors that docs/source-archive.md puts in table cells, so it reports live links as broken"}},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1cdbdfaf88da9d233b0e429fd4afe7d94dd42ff6","license":"AGPL-3.0-only","scripts":{"knip":"knip","lint":"eslint .","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json","check":"check-gates && npm run lint && npm run typecheck && npm run knip && npm run jscpd && npm run check:docs && npm run check:archive && npm run test && npm run build","jscpd":"jscpd ./src","//build":"Cleans first: tsc leaves the compiled output of a deleted source in dist, and `files: [\"dist\"]` then publishes it — a withdrawn circular's transcription shipped that way. prepack binds the clean build to packing, so a hand-run `npm pack` cannot ship a stale dist either.","lint:md":"remark --frail --quiet --no-stdout --rc-path node_modules/@casomoltd/tooling/bin/skills-lint.config.mjs docs CLAUDE.md README.md","prepack":"npm run build","prepare":"husky","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","check:docs":"node scripts/check-api-docs.mjs","test:watch":"vitest","check:archive":"node scripts/check-source-archive.mjs"},"version":"0.19.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d4d00c9-b10a-46d0-a4c5-49cf6856b006"}},"homepage":"https://github.com/casomoltd/nhs-pay#readme","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"overrides":{"esbuild":">=0.28.1","minimatch":">=10.2.3","remark-lint-frontmatter-schema":{"ajv":"^8.18.0","yaml":"^2.8.3","@apidevtools/json-schema-ref-parser":"^11.1.1"}},"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"//overrides":"esbuild + minimatch pinned to patched versions to clear dev-only advisories (esbuild dev-server file-read; minimatch ReDoS via eslint-plugin-sonarjs) that `npm audit fix` can't reach — transitive under vite/vitest and eslint-plugin-sonarjs. No production impact; drop when those deps ship the fixes.","_npmVersion":"11.19.0","description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","directories":{},"maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"knip":"^5.0.0","husky":"^9.0.0","jscpd":"^4.0.0","eslint":"^9.0.0","vitest":"^4.1.11","csv-parse":"^7.0.2","remark-cli":"^12.0.1","typescript":"~5.9.2","@types/node":"^25.5.0","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.0.0","@casomoltd/tooling":"^0.26.0","remark-frontmatter":"^5.0.0","@casomoltd/paye-calc":"^0.7.0","@js-temporal/polyfill":"^0.5.1","eslint-plugin-sonarjs":"^3.0.0","remark-validate-links":"^13.1.0","remark-lint-frontmatter-schema":"^3.15.4"},"peerDependencies":{"@casomoltd/paye-calc":">=0.5.9"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nhs-pay_0.19.4_1789557750558_0.38927792571706976"}}},"time":{"created":"2026-06-23T08:19:08.385Z","modified":"2026-09-16T11:22:31.039Z","0.4.7":"2026-06-23T08:19:08.728Z","0.4.8":"2026-06-23T08:28:55.610Z","0.4.9":"2026-06-24T08:40:33.682Z","0.4.10":"2026-06-24T08:48:25.635Z","0.4.11":"2026-06-25T12:38:25.612Z","0.4.12":"2026-06-25T13:30:54.399Z","0.4.13":"2026-06-25T14:36:47.579Z","0.4.14":"2026-06-25T14:58:33.952Z","0.4.15":"2026-06-30T08:02:25.954Z","0.5.0":"2026-07-07T12:50:41.783Z","0.6.0":"2026-07-08T11:52:42.985Z","0.7.2":"2026-07-10T08:56:39.809Z","0.7.3":"2026-07-14T16:12:35.959Z","0.7.4":"2026-07-17T08:31:54.926Z","0.8.0":"2026-07-21T17:15:23.989Z","0.9.0":"2026-07-22T11:47:03.529Z","0.9.1":"2026-07-22T14:41:23.220Z","0.10.0":"2026-07-23T05:39:48.475Z","0.10.1":"2026-07-23T06:36:57.478Z","0.10.2":"2026-07-23T10:44:39.876Z","0.10.3":"2026-08-10T06:33:37.348Z","0.10.4":"2026-08-12T14:45:32.279Z","0.11.0":"2026-08-17T14:36:58.376Z","0.12.0":"2026-08-21T16:06:36.346Z","0.12.1":"2026-08-22T12:44:33.514Z","0.13.0":"2026-08-22T15:18:12.320Z","0.13.1":"2026-08-22T16:51:35.537Z","0.13.2":"2026-08-24T05:52:28.354Z","0.14.0":"2026-08-27T07:49:50.208Z","0.15.0":"2026-08-28T06:51:43.729Z","0.15.1":"2026-08-31T08:45:25.611Z","0.15.2":"2026-08-31T10:20:33.878Z","0.16.0":"2026-09-05T01:01:01.113Z","0.16.1":"2026-09-07T08:57:24.867Z","0.16.2":"2026-09-07T13:19:04.364Z","0.16.3":"2026-09-10T05:29:36.093Z","0.17.0":"2026-09-14T09:28:04.034Z","0.18.0":"2026-09-14T11:22:21.620Z","0.19.0":"2026-09-14T13:19:23.117Z","0.19.1":"2026-09-14T14:02:55.403Z","0.19.2":"2026-09-15T05:49:10.958Z","0.19.3":"2026-09-16T06:05:25.537Z","0.19.4":"2026-09-16T11:22:30.653Z"},"bugs":{"url":"https://github.com/casomoltd/nhs-pay/issues"},"author":{"name":"Casomo Ltd"},"license":"AGPL-3.0-only","homepage":"https://github.com/casomoltd/nhs-pay#readme","keywords":["nhs","afc","agenda-for-change","pay-scales","pension","take-home","hcas"],"repository":{"url":"git+https://github.com/casomoltd/nhs-pay.git","type":"git"},"description":"NHS Agenda for Change pay scales, pension tiers, regions, and take-home calculator","maintainers":[{"name":"dkmohamad","email":"david.mohamad@casomoltd.com"}],"readme":"# @casomoltd/nhs-pay\n\nNHS pay scales — Agenda for Change plus medical & dental —\nwith pension tiers, regions, HCAS supplements, and a take-home\ncalculator. Built on top of `@casomoltd/paye-calc`.\n\nSee [`docs/pay-frameworks.md`](docs/pay-frameworks.md) for the domain\nmodel — the pay frameworks (AfC, medical, dental, VSM), the shared\nscale-resolver core, and where the consumer boundary sits.\n\n## About Casomo\n\nCasomo is a [registered UK limited company][companies-house]\nfounded and directed by\n[David Mohamad](https://github.com/dkmohamad). It builds focused\nsoftware tools and offers engineering consulting. This library\npowers the NHS pay calculators and explainers on\n[casomo.co.uk](https://casomo.co.uk) — where the differentiator is\nshowing **take-home** pay (after tax, NI and pension), not just the\ngross figures most published sources stop at.\n\n- **Portfolio** — [casomo.co.uk](https://casomo.co.uk)\n- **Consulting** — [casomoltd.com](https://casomoltd.com)\n\n[companies-house]: https://find-and-update.company-information.service.gov.uk/company/15030496\n\n## Install\n\n```bash\nnpm install @casomoltd/nhs-pay\n```\n\nPublic on the npm registry — no auth or `.npmrc` config needed.\n\nRequires `@casomoltd/paye-calc` (>=0.5.0) as a peer\ndependency.\n\n## Usage\n\n### Look up a band's salary range\n\n```ts\nimport {getAfcScales} from '@casomoltd/nhs-pay';\n\nconst {bands} = getAfcScales();\nconst band5 = bands.find((b) => b.band === '5')!;\nconsole.log(band5.salaryMin); // entry salary\nconsole.log(band5.salaryMax); // top of band\nconsole.log(band5.points);    // all pay points\n```\n\n### Calculate take-home for a Band 5 nurse\n\n```ts\nimport {\n  nhsTakeHome,\n  getAfcScales,\n  pensionTierRate,\n} from '@casomoltd/nhs-pay';\n\nconst {bands, pensionTiers} = getAfcScales();\nconst band5 = bands.find((b) => b.band === '5')!;\nconst salary = band5.salaryMin;\nconst rate = pensionTierRate(salary, pensionTiers);\n\nconst thp = nhsTakeHome(salary, rate / 100);\nconsole.log(thp.net);               // annual net\nconsole.log(thp.incomeTax);          // annual tax\nconsole.log(thp.nationalInsurance);  // annual NI\nconsole.log(thp.pensionDeduction);   // annual pension\n```\n\n### Apply HCAS supplement\n\n```ts\nimport {\n  getAfcScales,\n  calculateHcasSupplement,\n} from '@casomoltd/nhs-pay';\n\nconst {bands, hcas} = getAfcScales();\nconst base = bands[0].salaryMin;\nconst supplement = calculateHcasSupplement(\n  base, hcas.innerLondon,\n);\nconsole.log(base + supplement); // London-adjusted\n```\n\n### Format salary for display\n\n```ts\nimport {fmtSalary, fmtPct} from '@casomoltd/nhs-pay';\n\nfmtSalary(31049); // '£31,049'\nfmtPct(8.3);      // '8.3%'\n```\n\n### Take-home for a doctor or dentist\n\nMedical and dental grades resolve the same way as AfC, via a\nper-family resolver. `getMedicalScales(year, nation)` lists the\ngrades published for a nation and year; `fromPoint` builds a\n`Post` (gross, pension tier, tax, NI, take-home) from one point.\n\n```ts\nimport {getMedicalScales, medicalResolver} from '@casomoltd/nhs-pay';\n\nconst grades = getMedicalScales('2026-27', 'england');\nconst consultant = grades.find((g) => g.grade === 'consultant')!;\nconst top = consultant.points.at(-1)!;\n\nconst post = medicalResolver.fromPoint(\n  'consultant', top, 'england', '2026-27',\n);\nconsole.log(post.salary);        // basic pay\nconsole.log(post.pensionRate);   // member contribution %\nconsole.log(post.takeHome.net);  // annual net after tax + NI + pension\nconsole.log(consultant.source.reference); // the circular it came from\n```\n\n`fromPoint` takes the point itself. There is also\n`fromScalePoint(grade, label, …)` for a caller holding only a label,\nbut a label does not identify a point on every scale — England's\nconsultant scale is 20 payroll steps over 5 threshold labels, so\n`'Threshold 4'` names six of them and that call throws\n`AmbiguousScalePoint` rather than picking one.\n\n`getDentalScales` / `dentalResolver` mirror this for salaried\ndental grades. Both fail loud (`ScaleUnavailable`) for an\nunpublished nation/year or grade rather than defaulting.\n\n### Project a 2015-scheme pension\n\n```ts\nimport {\n  COMMUTATION_FACTOR,\n  LUMP_SUM_ALLOWANCE,\n  commute,\n  projectPension,\n} from '@casomoltd/nhs-pay';\n\nconst projection = projectPension({\n  kind: 'statement',\n  accruedPension: 5000, // from the Annual Benefit Statement\n  statementDate: new Date(2026, 2, 31), // the date it names\n  currentSalary: 54000,\n  dateOfBirth: new Date(1990, 0, 1),\n  exitDate: new Date(2035, 0, 1),\n  retirementDate: new Date(2053, 0, 1), // before NPA → ERF\n  npa: 67,\n  assumedCpi: 0.02,\n});\nconsole.log(projection.annualPension); // after ERF/LRF\nconsole.log(projection.factorType);    // 'erf'\nconsole.log(projection.curve);         // chart-ready points\n\n// Commutation takes the whole {nominal, real, asAt} figure, not\n// one side of it: the lump sum allowance is a cash amount tested\n// on a date, so a dateless number could not say which ruler it\n// was in. Every limit is required for the same reason — a\n// default would answer a question the caller did not ask.\nconst {lumpSum, residualPension, limit} = commute(\n  projection.annualPension,\n  1, // take the permitted maximum\n  {\n    commutationFactor: COMMUTATION_FACTOR,\n    allowance: {\n      amount: LUMP_SUM_ALLOWANCE,\n      asAt: new Date(2026, 2, 31),\n    },\n    // The run's OWN price series, so the allowance is carried\n    // forward at the rate the pension was projected at.\n    prices: projection.prices,\n  },\n);\nconsole.log(lumpSum.real, lumpSum.nominal); // both rulers\n// The maximum, and which cap stopped it — PER RULER.\nconsole.log(limit.real.amount, limit.real.binding);\nconsole.log(limit.nominal.amount, limit.nominal.binding);\n```\n\nThe maximum is the **lower** of two caps, and **both are\nstatutory**: 25% of the capital value of the benefits, and the\nLump Sum Allowance. The scheme's own contribution to the swap is\nthe 12:1 rate and nothing else, so a consumer must not attribute\nthe 25% to the scheme — `LUMP_SUM_CAPS.Scheme` names the\ndiscriminant, not the rule's author. `binding` says which cap\nstopped it, so a consumer can explain the figure rather than\nrestate the rule.\n\nWhy that name is left as it is, and what moves where when it\nchanges: [*The two caps on tax-free\ncash*](docs/how-it-works.md#the-two-caps-on-tax-free-cash).\n\nThere is **one limit per ruler, and no single flag**, because the\ntwo can genuinely disagree: `real` is the model run at zero CPI\nwhile the allowance is carried forward at CPI, so around the\ncrossover the allowance binds in today's money while the scheme\nlimb still binds in cash. Show the limit belonging to the ruler\non screen. See\n[*The two caps on tax-free cash*](docs/how-it-works.md#the-two-caps-on-tax-free-cash).\n\nWithout a statement figure, `kind: 'estimation'` accrues from a\n`joinDate` instead. ERF/LRF factors are transcribed verbatim from\nthe GAD consolidated factor workbook (30 June 2023 issue) with\nGAD's own rounding rules; a retirement date beyond the printed\ntables throws `RetirementFactorOutOfRange`.\n\n## How it works\n\n[`docs/how-it-works.md`](docs/how-it-works.md) — the model this\nlibrary implements: the recurrence it walks, what a scheme year\nand an exit date mean to it, why cash and today's money are two\nruns rather than one and a deflator, and every assumption it\nmakes, declared. Read it before trusting a figure.\n\n## API reference\n\n[`docs/api.md`](docs/api.md) — every export, organised by\ndomain, with typed signatures and short notes. Kept in sync with\nthe code by a check-time drift gate. Agents may prefer the\nshipped `dist/*.d.ts`, which carry the full JSDoc per module.\n\n## Data sources\n\n### AfC pay scales\n\n| Year    | Nations              | Source |\n| ------- | -------------------- | ------ |\n| 2025-26 | England, NI, Wales   | [NHS Employers pay scales 2025/26][scales-2526] |\n| 2026-27 | England, NI          | [NHS Employers pay scales 2026/27][scales-2627] |\n\nCross-checked against [NHSPRB 39th Report (2026)][nhsprb-39],\nTable A25 (AfC 2025/26 data for England, NI, Wales).\n\n[scales-2526]: https://www.nhsemployers.org/articles/pay-scales-202526\n[scales-2627]: https://www.nhsemployers.org/articles/pay-scales-202627\n[nhsprb-39]: https://assets.publishing.service.gov.uk/media/698df41175466636847f6a93/NHSPRB_39th_Report_2026.pdf\n\n### 2015 CARE pension projection\n\n| Data | Source |\n| ---- | ------ |\n| September CPI + in-service rate | [HM Treasury Revaluation Orders][sis], one SI per year |\n| Accrual rate, NPA | NHSBSA 2015 Members' Guide (V13) |\n| ERF / LRF factors | GAD NHS EW consolidated factor workbook |\n| Commutation rate (£12 : £1) | NHSBSA Key Notes — 2015 Scheme Estimates (V2) |\n| Permitted maximum (lowest of three limbs) | [Sch 29 Finance Act 2004 para 2][sch29] |\n| Applicable amount, defined benefits, `(A + (B × C)) / 4` | [Sch 29 Finance Act 2004 para 2C][sch29p2c] |\n| Relevant valuation factor (20) | [Finance Act 2004 s.276][s276] |\n| Lump Sum Allowance (£268,275, frozen) | [ITEPA 2003 s.637P][s637p] |\n\n[sis]: https://www.legislation.gov.uk/secondary/public+service+pensions\n[sch29]: https://www.legislation.gov.uk/ukpga/2004/12/schedule/29\n[sch29p2c]: https://www.legislation.gov.uk/ukpga/2004/12/schedule/29/paragraph/2C\n[s276]: https://www.legislation.gov.uk/ukpga/2004/12/section/276\n[s637p]: https://www.legislation.gov.uk/ukpga/2003/1/part/9/chapter/15A\n\nReconciled line by line against a real **Annual Benefit\nStatement** (2015 Section, updated to 31/03/2025, name and\nmembership number redacted), and against a ten-year projection\nbuilt by hand from it.\n\nBoth are archived and inventoried in\n[`docs/source-archive.md`](docs/source-archive.md), with the\nlinks themselves in the header of\n[`tests/golden-abs.test.ts`](tests/golden-abs.test.ts) — beside\nthe assertions they justify, which is where a citation belongs\nand where it cannot drift from what it is citing.\n\nThe statement is the source of truth and the library never\nrestates it: enter its figure and ask for its own date, and you\nare handed back exactly what it says. See\n[*Two rulers, one model*](docs/how-it-works.md#two-rulers-one-model)\nfor how cash and today's money are produced, and\n[*A projection never applies a published Order*](docs/how-it-works.md#a-projection-never-applies-a-published-order)\nfor why a legislated rate is declined even where one exists.\n\nThat promise is exact for a statement handed over **with its\ndate**. Passing the figure undated instead asks a different\nquestion — \"this is my balance today\" — and the library must\nthen work backwards to the year end, at its own revaluation rule\nrather than the scheme's. For a member who left at a year end\nthe two differ; see\n[*Reading a statement back applies the SAME rule*](docs/how-it-works.md#reading-a-statement-back-applies-the-same-rule)\nfor the size of it and why passing the date avoids it.\n\n### Scotland\n\nScotland negotiates its own AfC award independently and\nhas completely different base salaries from England.\nSeparate scale tables are stored for each tax year —\n`getAfcScales(year, 'scotland')` returns Scotland figures\ndirectly. Scotland also has structural differences: Band 2\nhas 2 points (vs 1 in England) and Bands 8a–9 have 2\npoints each (vs 3).\n\nSource: [PCS(AFC)2026/1][scot-circular] — Scottish Health\nWorkforce Directorate circular (23 Jan 2026). Annex B holds\nboth years' rate tables; Annex C sets them out increment by\nincrement and corroborates Annex B point for point.\n\nScotland's 2025-26 settlement was 4.25%, but carried an\ninflation guarantee — at least one percentage point above\naverage CPI for the calendar year of the uplift. 2025 CPI\nconfirmed at 3.4%, so the guarantee triggered and the rate\nwas revised to 4.4%, backdated to 1 April 2025 with arrears.\n2026-27's 3.75% then applies to the revised base, so both\nyears moved. Take both from Annex B rather than the MSG\nconsolidated table, which still prints the original 4.25%\nrates.\n\n[scot-circular]: https://www.publications.scot.nhs.uk/files/pcs2026-afc-01.pdf\n\n### Wales\n\nWales runs its own pay ladder and both years are transcribed\nfrom it: [AfC(W) 02/2025][wales-2025] (29 May 2025) and\n[AfC(W) 02/2026][wales-2026] (12 Feb 2026), Annex 1 of each.\n\nWales is **not** England's table with a floor applied. The two\nladders differ at every band from 4 upward, where no floor\nreaches: Band 9 tops out at £131,732 in Wales against £129,783\nin England. A floor lifts the bottom of a ladder and cannot\nraise its top. Wales also carries two Band 2 points where\nEngland has one.\n\nPoint labels come from each circular's own \"years until\neligible for pay progression\" column, so they are stated by\nthe Welsh source rather than borrowed from England's table,\nand they do not always agree with England's for the same band.\n\nThe living-wage floor is real but separate: it is an advance\npayment that lifts the lowest points, which is why the 2026/27\nuplift explicitly does not apply to them. `WALES_LIVING_WAGE`\ncarries both published figures — the annual floor and the hourly\nrate it is set against — for reference; nothing derives a scale\nfrom it, and neither figure derives from the other.\nSource: [AfC(W) 01/2026][wales-lw] (6 Jan 2026).\n\nBand 1 is published in both years (£24,833, then £26,300) and\nclosed to new entrants. It is absent from `AFC_BANDS`, the same\ngap Scotland has.\n\nBoth Welsh years were transcribed during an outage of the NHS Wales\nweb estate (2 September 2026), so the circulars were read from NHS\nWales Employers' copy rather than the publisher's own. Each file was\nchecked byte-for-byte against a copy downloaded from `www.nhs.wales`\nthe previous day, before the outage, and both matched. The links\nabove are the publisher's, which is where these documents live.\n\n[wales-2025]: https://www.nhs.wales/files/pc-resources/afc-w-02-2025-pdf-2-pdf/\n[wales-2026]: https://www.nhs.wales/files/pc-resources/afc-w-02-2026-pdf-pdf/\n[wales-lw]: https://www.nhs.wales/files/pc-resources/2026-afc-1-2026-living-wage-pdf-pdf/\n\n### Other data\n\n| Data                   | Source |\n| ---------------------- | ------ |\n| Pension contribution rates 2025/26 | [NHSBSA contribution rates][pension-2526] |\n| Income tax / NI rates  | gov.uk (via paye-calc) |\n| National Living Wage   | [gov.uk NLW rates][nlw] |\n| HCAS PCT zones         | NHS Employers Annex 8 Table 12 |\n\n[pension-2526]: https://www.nhsbsa.nhs.uk/nhs-pensions-contribution-rates-202526\n[nlw]: https://www.gov.uk/national-minimum-wage-rates\n\n## Medical & dental pay scales\n\nDoctors and dentists are paid on a separate set of pay circulars —\none per nation — from Agenda for Change. This library encodes them\nso it can render **take-home** (not just gross) for medical and\ndental grades, which is what most published sources omit.\n\n| Nation | Circular | Year | Source |\n| ------ | -------- | ---- | ------ |\n| England | PC(M&D) 1/2026 R2 | 2026/27 | [NHS Employers][md-eng] |\n| Scotland | PCS(DD)2026/01 | 2026/27 (training grades only) | [NHS Scotland][md-sco] |\n| Scotland | PCS(DD)2025/01 + addendum | 2025/26 (complete round) | [NHS Scotland][md-sco25] |\n| Wales | M&D(W) 01/2026 | 2026/27 | [NHS Wales][md-wal] |\n| Wales | M&D(W) 01/2025 | 2025/26 | [NHS Wales][md-wal] |\n| Northern Ireland | HSC(TC8) 05/2025 | 2025/26 | [DoH NI][md-ni] |\n\n[md-eng]: https://www.nhsemployers.org/articles/pay-and-conditions-circulars-medical-and-dental-staff\n[md-sco]: https://www.publications.scot.nhs.uk/files/pcs-dd-2026-01.pdf\n[md-sco25]: https://www.publications.scot.nhs.uk/files/pcs2025-dd-01.pdf\n[md-wal]: https://www.nhs.wales/hpb/nhs-pay-and-conditions/\n[md-ni]: https://www.health-ni.gov.uk/publications/hsc-tc8-052025\n\nWales's 2026/27 round is a 3.5% uplift (3.75% for salaried\ndentists) and removes the closed Associate Specialist (MC01)\ncode, so that grade resolves only at 2025/26.\n\nNI 2025/26 pension member tiers (HSC — distinct thresholds *and*\nrates from NHSBSA) are sourced from [HSC Pensions][hsc-pension].\n\n[hsc-pension]: https://hscpensions.hscni.net/\n\n### How the data is modelled\n\nThe circulars vary widely in structure (nodal training points,\nconsultant thresholds, SAS experience bands, GP ranges, dental\nspines), so the data is built in three layers that decouple\ntranscription fidelity from the uniform domain model:\n\n1. **Verbatim circular** (`src/circulars/*.ts`) — one file per PDF,\n   each table transcribed 1:1 in source order with a row shape that\n   mirrors that table's own columns, under a comment citing the\n   Annex / section / page. Every table in the circular is either\n   transcribed or **recorded with a reason** for skipping it, so\n   nothing is silently dropped and each file diffs against the PDF\n   top-to-bottom.\n2. **Translation layer** (`src/medical-scales.ts`,\n   `src/dental-scales.ts`) — selects which scales feed the\n   calculator and maps each verbatim row to a canonical scale point.\n   Inclusive by default: closed-to-new-entrant grades, devolved\n   training variants, GP registrars and the Community Dental Service\n   are all wired.\n3. **Canonical domain** (`getMedicalScales` / `getDentalScales` +\n   `medicalResolver` / `dentalResolver`) — a uniform\n   `(grade, nation, year) → scale points` view, identical in shape\n   to the AfC resolver.\n\n**Scope.** *(a)* every basic-pay salary scale, including\nclosed-to-new-entrant grades still paid to incumbents, plus *(b)*\nearnings-affecting supplements expressed as an annual £ (Clinical\nImpact / Excellence awards, DPH and intensity supplements). Pure\nexpense tables (mileage, fees) and self-employed GDS/UDA dentist\ncontract income are out of scope.\n\n**Unpublished data fails loud.** England and Wales publish complete\n2026/27 rounds. Scotland's 2026/27 circular uplifts training grades\nonly, so its consultant / SAS / GP / dental scales resolve to the\ncomplete 2025/26 round (PCS(DD)2025/01) until the Scottish\nGovernment publishes the non-training uplift; Northern Ireland's\nlatest circular is 2025/26 throughout. Each grade resolves at its\nown cited year and `latestYearFor(grade, nation)` reports it —\nfigures are never silently carried forward, and a query for an\nunpublished (year, nation) throws rather than defaulting to another\nnation's or year's figures.\n\n## Test fixtures\n\n`tests/fixtures/band-take-home.csv` — 90 golden-value rows\ncovering bands 5, 7, 8a across all 4 nations (England,\nScotland, Wales, NI), both tax years, 3 HCAS zones, and\npart-time (0.6 FTE). Gross figures are derived from\n`getAfcScales(year, nation)` using the sources above.\nPension, tax, NI and net values are computed by\n`nhsTakeHome` and should be cross-checked against:\n\n- [NHS Employers pay scales 2025/26][scales-2526] and\n  [2026/27][scales-2627] for England/NI gross\n- [PCS(AFC)2026/1][scot-circular] Annex B for Scotland\n  gross\n- [NHSBSA pension contribution rates 2025/26][pension-2526]\n  for pension tier rates\n\n## Tax years\n\nAfC scale + pension coverage (all four nations):\n\n| Year    | Scales | Pension |\n| ------- | ------ | ------- |\n| 2023-24 | Yes    | Yes     |\n| 2024-25 | Yes    | Yes     |\n| 2025-26 | Yes    | Yes     |\n| 2026-27 | Yes    | Yes     |\n\nMedical & dental coverage is per-nation (England/Wales 2026/27;\nScotland 2026/27 for training grades and 2025/26 for the rest;\nNI 2025/26) — see\n[Medical & dental pay scales](#medical--dental-pay-scales).\n\n## Development\n\n```bash\nnpm run check       # lint + typecheck + knip + jscpd\n                    # + api-docs drift gate + test\nnpm run build       # compile to dist/\nnpm test            # vitest\nnpm run test:watch  # vitest watch mode\n```\n\n## License\n\nAGPL-3.0-only — see [LICENSE](LICENSE).\nCopyright © 2026 Casomo Ltd.\n\nThere is no linking exception: combine this library with your\nown code and the combined work is AGPL too, and letting people\nuse that work over a network obliges you to offer them its\nsource. Charging money is not what triggers this, and not\ncharging is no exemption. A commercial licence is available for\nuse that needs to stay closed — enquire via\n[casomoltd.com](https://casomoltd.com).\n","readmeFilename":"README.md"}