{"_id":"@absolutejs/billing","_rev":"19-061ae04f38146584974316099c95b2fa","name":"@absolutejs/billing","dist-tags":{"latest":"0.13.1"},"versions":{"0.1.0":{"name":"@absolutejs/billing","version":"0.1.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.1.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"6a1544b6683cece0efe4585c58e9640b897d9747","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.1.0.tgz","fileCount":6,"integrity":"sha512-aGCJRxwZVDHt4Q9wOKCVj0xcyffjT/WeXC2ewUv+ZKk6cmA6tnWJCHB4VBxmPNhU4crru9vZHSCNH6AOeaWD1A==","signatures":[{"sig":"MEYCIQD1avZv9fpkASUsqlYTq10+ArBJ6vZ4qbuoRMVzeVlJowIhAJeQHnwAtoYCPTyYkuSGF5iPEopeIYeXPuPbDsYtGskX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36451},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"6a1544b6683cece0efe4585c58e9640b897d9747","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-aGCJRxwZVDHt4Q9wOKCVj0xcyffjT/WeXC2ewUv+ZKk6cmA6tnWJCHB4VBxmPNhU4crru9vZHSCNH6AOeaWD1A==","repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"peerDependencies":{"bun-types":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.1.0_1780248425419_0.5711431084443395","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@absolutejs/billing","version":"0.2.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.2.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"977727dfc4fef2724a907db7a074e720ce19c76b","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.2.0.tgz","fileCount":7,"integrity":"sha512-wR/jJajNeUTc5qm5Ep7XRHzG+i7wxJAPpgboEr62MCUkWO1FpY4SjWOtRaL68+mvNZCG3CZdq8Qz2iZ5HeAcew==","signatures":[{"sig":"MEUCIQDifYzkaEUrwBUiCsuvrkffMBE0KQ+OoRdYTYWVDnBJcgIgL7hDlC5FlCPr6l9BVDTtcjGSuso3VGJ1vpgzlfACPLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78352},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"977727dfc4fef2724a907db7a074e720ce19c76b","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-wR/jJajNeUTc5qm5Ep7XRHzG+i7wxJAPpgboEr62MCUkWO1FpY4SjWOtRaL68+mvNZCG3CZdq8Qz2iZ5HeAcew==","repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"peerDependencies":{"bun-types":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.2.0_1781975678847_0.6200838154164552","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@absolutejs/billing","version":"0.2.1","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.2.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"72b95d5e5c2c39e74e56a452b41e7059f3fb5ff2","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.2.1.tgz","fileCount":7,"integrity":"sha512-3YrQt27GqIvrdyAAvtcOQ9VcswsI9woPnccpsKEnvdfsoosRXItQyRYPgK8RwjVYVQbCoY2bNLPdrXCIC3Wfxg==","signatures":[{"sig":"MEUCIGIAavN9Te724yTi5g77kpz48aOQIecDzKZ97v7FllaMAiEA6EgHSNMulgZT4MhnPbufnMf4nWNAWzc1MDrucx9eZ9w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79752},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"72b95d5e5c2c39e74e56a452b41e7059f3fb5ff2","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-3YrQt27GqIvrdyAAvtcOQ9VcswsI9woPnccpsKEnvdfsoosRXItQyRYPgK8RwjVYVQbCoY2bNLPdrXCIC3Wfxg==","repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"peerDependencies":{"bun-types":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.2.1_1781988543183_0.7325907670384972","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@absolutejs/billing","version":"0.2.2","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.2.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"83256ec4ff90b93d78f22f68bc8099e687304e4b","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.2.2.tgz","fileCount":11,"integrity":"sha512-OJaLCPmxgij4O4+KqOMNVe8D75eIE3+zXO4H2QotJ0GjPRjg5l+TN1KMJlNqdUducYtsr8ZSVmRFxsXFq0rPCw==","signatures":[{"sig":"MEUCIG0rNbqAGC4V7Nyb0Reu2BAYL2EnV2CKUS/rtZmOhBSqAiEA2StbOry2TXu2w479nOUZPxPLwjK5YBz0GS5rNzP9DkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1237968},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"83256ec4ff90b93d78f22f68bc8099e687304e4b","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-OJaLCPmxgij4O4+KqOMNVe8D75eIE3+zXO4H2QotJ0GjPRjg5l+TN1KMJlNqdUducYtsr8ZSVmRFxsXFq0rPCw==","absolutejs":{"manifestContract":1},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"peerDependencies":{"bun-types":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.2.2_1783964296875_0.5580123235005512","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@absolutejs/billing","version":"0.3.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":{"name":"Alex Kahn"},"license":"BSL-1.1","_id":"@absolutejs/billing@0.3.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"9ce97c48fd10ef6cd11feacb33bdadec3248f021","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.3.0.tgz","fileCount":11,"integrity":"sha512-/Nemk6AWJPZefFdMKv7yHmoMNd8dk11lgTlIqD6tJqtMLk2Gbsubg4hrrzuQVu/BfSJ2eAtZEN8dwtu4UCnbxQ==","signatures":[{"sig":"MEUCIBUFUFxPugaFsXUHhILnaS7Dd/dP0h34LZIrwUI2iQbfAiEA7Yzm+zoFguDUNWMWwLyKm9r/E7Z0og1GGs8a7NZ6IzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1261050},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"eda64e9be1742903c5a28ff661203aee942de692","scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.9.2","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"peerDependencies":{"bun-types":"^1.3.14"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.3.0_1784807902076_0.9678372070356145","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@absolutejs/billing","version":"0.3.1","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.3.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"ca348fe93b6214ce05b4a3ebef4f0094648590b6","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.3.1.tgz","fileCount":11,"integrity":"sha512-z23GpaxsYgNAdMnelrEQrId8tRKSsitydZa4aPUrJU0JwkNjKt50q94LB9LQC/JiRFzHvcW2rqZ9xtsxU15ydg==","signatures":[{"sig":"MEUCICxPupsv3yANAHgtzm9t+EXIPj2lKq1o1g/sFKQuWrFuAiEAjpIAFlBOyUFz7AEhccHacgG3gE5c44a9rDTQSo7J8AA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603457},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"ca348fe93b6214ce05b4a3ebef4f0094648590b6","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-z23GpaxsYgNAdMnelrEQrId8tRKSsitydZa4aPUrJU0JwkNjKt50q94LB9LQC/JiRFzHvcW2rqZ9xtsxU15ydg==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.3.1_1784916426694_0.915245087032134","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@absolutejs/billing","version":"0.3.2","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.3.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"a158c533ca1a6ead32901c6b3825527acd9a8252","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.3.2.tgz","fileCount":11,"integrity":"sha512-DH33tOHlNXzJUsME4MJsmCvIadBt6jpcYrdBzM12rSxHmAjzg26GIrLgIVrfbCSBEh3BlVSWaQd2zsHRHeMbCg==","signatures":[{"sig":"MEYCIQDADMx362yHRnRvyeDtbVfAQNb5supqP9+VAx6sxnLwGwIhAP9RrmQ9z5PgsBR9oxcj0sAQwCdkyX4FkUCVME33kjuc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":612428},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"a158c533ca1a6ead32901c6b3825527acd9a8252","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-DH33tOHlNXzJUsME4MJsmCvIadBt6jpcYrdBzM12rSxHmAjzg26GIrLgIVrfbCSBEh3BlVSWaQd2zsHRHeMbCg==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.3.2_1785472970700_0.3769687193357525","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@absolutejs/billing","version":"0.4.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.4.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"d6dad3cbd4540f39cb549187190a9911b28c9e4c","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.4.0.tgz","fileCount":11,"integrity":"sha512-ivM3v4EdC/Tn0ldMwZmsw8PKA8Jn75Rk8xAw3p8cC/Pg4sz30PJgkO8PXLkt9tyKAWTTfFrBQ2WCzEBvrTch8Q==","signatures":[{"sig":"MEUCIGZIlR3ZfAHmR2WnrHlhCSXGGHPoEqTn5qzFMJFS500yAiEA7w+BGT1xVtXr6s0j+i8BJiJRICi2i457rbuz1VHk2p4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":616770},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"d6dad3cbd4540f39cb549187190a9911b28c9e4c","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-ivM3v4EdC/Tn0ldMwZmsw8PKA8Jn75Rk8xAw3p8cC/Pg4sz30PJgkO8PXLkt9tyKAWTTfFrBQ2WCzEBvrTch8Q==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.4.0_1785476794659_0.36499593314483114","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@absolutejs/billing","version":"0.5.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.5.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"04a50a120c076a743675ce2393e9e037cc1623ce","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.5.0.tgz","fileCount":14,"integrity":"sha512-sKq8Dw1x1RTpD3HhlgAw7yogenrit4ecV2iEYA107oJ5aANWhoXb4hI4j3MCPWy37y3g75Cv68Xu8nNnm6z/OQ==","signatures":[{"sig":"MEUCIQDDWi7MEoThJTFOl9B0Sm3UyYexaDlBYqzh+GC8qfDOfwIgK6ZjP7XoIeRwDUWDM1pgQP9oEPED9hAWJMUeluiMPvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626824},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"04a50a120c076a743675ce2393e9e037cc1623ce","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-sKq8Dw1x1RTpD3HhlgAw7yogenrit4ecV2iEYA107oJ5aANWhoXb4hI4j3MCPWy37y3g75Cv68Xu8nNnm6z/OQ==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.5.0_1785477062989_0.581105397905354","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@absolutejs/billing","version":"0.6.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.6.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"95bf2bfe6186fecf74d01e7677b571bbe76bda2c","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.6.0.tgz","fileCount":14,"integrity":"sha512-7LMCmYdSNrsRiHGFq5kARuTzEGqOnRLU2ee/4kkGgGQLfuq9AhIALPSCSc13JkX9DkYbSYmxQ8YVcDzNlpy35g==","signatures":[{"sig":"MEUCIQCwtpZwdAraM6Y9BoVn4XJYE6yWv8KwAAg96OP37MixugIgM5pfvDq2vafST6/xdiF9jKXRexKnssLfRnYkDsSVnEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":634065},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"95bf2bfe6186fecf74d01e7677b571bbe76bda2c","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-7LMCmYdSNrsRiHGFq5kARuTzEGqOnRLU2ee/4kkGgGQLfuq9AhIALPSCSc13JkX9DkYbSYmxQ8YVcDzNlpy35g==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Cost-model substrate for the AbsoluteJS PaaS. createPlan declares a priced product (base fee + per-dimension unit prices + tiered / free-tier rules); computeInvoice turns a @absolutejs/metering Usage snapshot into Invoice line items in integer micros (no ","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.6.0_1785477689097_0.17770609943383553","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@absolutejs/billing","version":"0.7.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.7.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"ff8e08dd6bf83749705f702fa73a8453247a25ea","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.7.0.tgz","fileCount":26,"integrity":"sha512-bpCRcxmDm9Qn3q0Aadqt3LJP9/qgrpTViLc9pB2NLkFZ1cgCswRGtby+oO/5bpwWIzR6bdnB4/gfOWZc5z+m3g==","signatures":[{"sig":"MEUCIQC+vKwpTDFL+YLYngJ/i+6FqaHLQLQ4BU2Z4RAWi2Tx7QIgExX9vCANQqxZ0E1Zp3KgHTE1OChzaeYVHaPvSlDUkdU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDOk0+SwhI37WAaJaOmBO3OFsSNSfk85WOilSxwd0y2sgIgR7c9YWI+Kmpu97aqdU3ACxZ7Fami6HuybhLsy+QIVEI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782492},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"ff8e08dd6bf83749705f702fa73a8453247a25ea","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-bpCRcxmDm9Qn3q0Aadqt3LJP9/qgrpTViLc9pB2NLkFZ1cgCswRGtby+oO/5bpwWIzR6bdnB4/gfOWZc5z+m3g==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.7.0_1789099078579_0.4228446241623094","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@absolutejs/billing","version":"0.8.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.8.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"96cbfb13d034761070af6677dec8788875313397","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.8.0.tgz","fileCount":30,"integrity":"sha512-UQDFcLm+ZkqBcFr61eVLPxTsRk0Ma4H4nc9gHPx2tLHVlxbYIaiFpGXUE8irYOxFIL845B8TxJfykhHzB/IJqQ==","signatures":[{"sig":"MEUCIQDLNLX3huV0xwjS/vWdakvZI/B6z6skIl+y2zPi32nXkQIgFy2NiYI4gy5P+1G0JeEZDkLYucWIIg1Bi3tKW5XlanE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDCpdsIkmYAxPp/NlTLxU5pMhneNSNe4x06yegubM9VCwIhAMxMGVLZscQehcbJvesC7QmBxq/09O3IObvKnyEccciJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":800752},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"96cbfb13d034761070af6677dec8788875313397","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./checkout-handoff":{"types":"./dist/checkoutHandoff.d.ts","import":"./dist/checkoutHandoff.js","default":"./dist/checkoutHandoff.js"},"./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/checkoutHandoff.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-UQDFcLm+ZkqBcFr61eVLPxTsRk0Ma4H4nc9gHPx2tLHVlxbYIaiFpGXUE8irYOxFIL845B8TxJfykhHzB/IJqQ==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.8.0_1789101799426_0.7958269636889732","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@absolutejs/billing","version":"0.9.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.9.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"adf5236e83b9c6ccbd31558ffb02423df642e953","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.9.0.tgz","fileCount":33,"integrity":"sha512-3MhIq5GZKdptn4kiIfJOBJItZlfANVyQzisHTKA9RWuaMeWnBdWMH/f5YiObT97u9/HZEBxL1f+gX1RU8dJFyw==","signatures":[{"sig":"MEUCIQC2JDZVTLsCEcULKjoRbmR8mqNi+t+HEXU0pwJoI7wo5gIgBST+G+bs8MsVtYEMOwecy8/2OHsXUHqvDJq0+0dPTbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA51+0sOJDZH722Nj5BKINzsYiqGOXFD62Mqw3Mgq9rjAiEAoAkwLB1l+q8MUrlFt+xdumuMPmt6t6Fk4XcLI/uf9kQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":822099},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"adf5236e83b9c6ccbd31558ffb02423df642e953","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./reports":{"types":"./dist/reports.d.ts","import":"./dist/reports.js","default":"./dist/reports.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./checkout-handoff":{"types":"./dist/checkoutHandoff.d.ts","import":"./dist/checkoutHandoff.js","default":"./dist/checkoutHandoff.js"},"./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/checkoutHandoff.ts src/reports.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-3MhIq5GZKdptn4kiIfJOBJItZlfANVyQzisHTKA9RWuaMeWnBdWMH/f5YiObT97u9/HZEBxL1f+gX1RU8dJFyw==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.9.0_1789103711072_0.3104860949104884","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@absolutejs/billing","version":"0.9.1","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.9.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"cb980aadb39147964c97013c4e7e78c9b66eb7ec","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.9.1.tgz","fileCount":33,"integrity":"sha512-OeOUGlyNokBeceM0NA+hBw3mr1MY3ITQ4E+gAKJIVYHvhBIKxtiFlU3KuPuUGAsiwicyCLZpslBMP+b5MqC+Kg==","signatures":[{"sig":"MEUCIQDWOlDWDU6em4AP9d12wqWQTbLcU/I6TC+XdcLbBIUw9wIgbwluoD4gnLBov0nc4JzFkDOAmS/O5A9PkCrlIVibC9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICVqSPA5gJ/ISq74zs2NDx4ly07O3iyzPivbomTTrmnmAiBL11eMfWVsgpiyMb2+8bzNkVn9svsNzgxhZBCtTQ6P5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":823614},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"cb980aadb39147964c97013c4e7e78c9b66eb7ec","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./reports":{"types":"./dist/reports.d.ts","import":"./dist/reports.js","default":"./dist/reports.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./checkout-handoff":{"types":"./dist/checkoutHandoff.d.ts","import":"./dist/checkoutHandoff.js","default":"./dist/checkoutHandoff.js"},"./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/checkoutHandoff.ts src/reports.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-OeOUGlyNokBeceM0NA+hBw3mr1MY3ITQ4E+gAKJIVYHvhBIKxtiFlU3KuPuUGAsiwicyCLZpslBMP+b5MqC+Kg==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"3.4.9","prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.9.1_1789168408864_0.9118555006115547","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@absolutejs/billing","version":"0.10.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.10.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"6db3acc878fe4d31706aaa3e8bb754efec28b657","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.10.0.tgz","fileCount":33,"integrity":"sha512-qJ95xPHsjkru0vWwegFR93EfgimAxlCLkkaIcSLes8f+JD5U1BvTXJzyQbFX+gXgirEul9lncYHKJ65IRclunA==","signatures":[{"sig":"MEUCIQDS2f7jUQi6CFRrXVP/lWZ/HwMjtVDqL64QPSHXMbE5pAIgXmPbWF6m3oruu9hKPKz/WSeNVxizG03nRI8XcCvu18g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEa3ppVpEhetCnj1kPZjSTINOt3x0/NpKUJ07IFGTcxiAiB551hqg5T5SZcroP0UrJM0U2SaVhnDre7lqTltEA3hLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":833840},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"6db3acc878fe4d31706aaa3e8bb754efec28b657","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./reports":{"types":"./dist/reports.d.ts","import":"./dist/reports.js","default":"./dist/reports.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./checkout-handoff":{"types":"./dist/checkoutHandoff.d.ts","import":"./dist/checkoutHandoff.js","default":"./dist/checkoutHandoff.js"},"./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/checkoutHandoff.ts src/reports.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-qJ95xPHsjkru0vWwegFR93EfgimAxlCLkkaIcSLes8f+JD5U1BvTXJzyQbFX+gXgirEul9lncYHKJ65IRclunA==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"3.4.9","prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.10.0_1789275665991_0.6779141943684164","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@absolutejs/billing","version":"0.11.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.11.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"234e5be70a26e975757764dc4f7eb0c26f3a336b","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.11.0.tgz","fileCount":33,"integrity":"sha512-qJtSjqr7MqnMPEsUk56za51H4InOlDVP+l2hDgqfrNv5a0EIfD8YHT2FreyKyYG9SprTO4b5tIXZrKQsKH5lSw==","signatures":[{"sig":"MEYCIQDspCxXIRtbVxv1kB1YyPD3mJ3zAjj6QuZ6RJCXn6xvVgIhAOhR7m8zpKVOFiNQC491HTervbfB5/6THeBnw54hIJfs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD/iHyOfXsEjo2sk/fTpatLKxv63gbUKlYejC2QDBUIWQIhAMqq0F/6t18aJXymTpGE+iwilED83PmOnAMnyOTSGPYs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":838091},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"234e5be70a26e975757764dc4f7eb0c26f3a336b","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./reports":{"types":"./dist/reports.d.ts","import":"./dist/reports.js","default":"./dist/reports.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./checkout-handoff":{"types":"./dist/checkoutHandoff.d.ts","import":"./dist/checkoutHandoff.js","default":"./dist/checkoutHandoff.js"},"./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/checkoutHandoff.ts src/reports.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-qJtSjqr7MqnMPEsUk56za51H4InOlDVP+l2hDgqfrNv5a0EIfD8YHT2FreyKyYG9SprTO4b5tIXZrKQsKH5lSw==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"3.4.9","prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.11.0_1789289905014_0.9700049969451148","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@absolutejs/billing","version":"0.12.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.12.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"d7f6c3ca8fb3a9fb909da6df3bed369d217dc9c4","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.12.0.tgz","fileCount":33,"integrity":"sha512-NHVnieZxbRgkTWogCKnqkb3QLtRX1liQ/Lci2b3fj9L8AZSamRS25I2pvjHdfHFL9tlT18UQ8huV/1F+aRUc0A==","signatures":[{"sig":"MEYCIQCe9SVxef6lhA55xO8A30XqXnYM52bDVa0HwHDh1G/APQIhAPdq9IFdTqN3nx/SsndklaIBf5gW+MCRXyNg3Q8Hlnq/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGDyEKPfVWT6ufmVGV/JP+NthwBfHk1cwuu9hIh3IHFcAiBJadDKq7ponDvbSscJcjPTVCkH52vn6vdA6kQBZYc8uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":842859},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"d7f6c3ca8fb3a9fb909da6df3bed369d217dc9c4","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./reports":{"types":"./dist/reports.d.ts","import":"./dist/reports.js","default":"./dist/reports.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./checkout-handoff":{"types":"./dist/checkoutHandoff.d.ts","import":"./dist/checkoutHandoff.js","default":"./dist/checkoutHandoff.js"},"./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"}},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/checkoutHandoff.ts src/reports.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-NHVnieZxbRgkTWogCKnqkb3QLtRX1liQ/Lci2b3fj9L8AZSamRS25I2pvjHdfHFL9tlT18UQ8huV/1F+aRUc0A==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"3.4.9","prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/billing_0.12.0_1789295538626_0.009399647809579914","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@absolutejs/billing","version":"0.13.0","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"author":"Alex Kahn","license":"BSL-1.1","_id":"@absolutejs/billing@0.13.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/billing","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"0843476c6384256b72bad1a5f237d6fffee073cb","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.13.0.tgz","fileCount":37,"integrity":"sha512-1EtnbHc6sVhx+tiURZdifS0y/vNWMG3ft1C9QawvRU8WJzCo70CQHN6muAMu6pSzLiLALzhAASqeP2Tz8cnZow==","signatures":[{"sig":"MEQCIGNc4xSLQvzYGJErNoV5OaAahUcWUvD6KhZHRPUWp0/SAiAxyYhKWqETIPhcgvqSWeR7Ce9mENnxlt0b3t3khUdbBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBLPVZGdZCVL0W8e3mEPnRNpdqRQpvPOkGK3yrx6cD2nAiAhXsrJWR4sGWnhtke+3W2CHXbH2VwvUI/SekgmzLFppQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":863006},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"0843476c6384256b72bad1a5f237d6fffee073cb","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./reports":{"types":"./dist/reports.d.ts","import":"./dist/reports.js","default":"./dist/reports.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./credit-purchase":{"types":"./dist/creditPurchase.d.ts","import":"./dist/creditPurchase.js","default":"./dist/creditPurchase.js"},"./checkout-handoff":{"types":"./dist/checkoutHandoff.d.ts","import":"./dist/checkoutHandoff.js","default":"./dist/checkoutHandoff.js"},"./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"},"./vue/CreditAmountPicker.vue":"./vue/CreditAmountPicker.vue"},"scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/creditPurchase.ts src/checkoutHandoff.ts src/reports.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-1EtnbHc6sVhx+tiURZdifS0y/vNWMG3ft1C9QawvRU8WJzCo70CQHN6muAMu6pSzLiLALzhAASqeP2Tz8cnZow==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"3.4.9","prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"peerDependencies":{"vue":"^3.5.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/billing_0.13.0_1789299317213_0.9916327003120615","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"_id":"@absolutejs/billing@0.13.1","bugs":{"url":"https://github.com/absolutejs/billing/issues"},"dist":{"shasum":"47fd40cf5f92c0fae78534d7d9557b3c34002d9d","tarball":"https://registry.npmjs.org/@absolutejs/billing/-/billing-0.13.1.tgz","fileCount":41,"integrity":"sha512-0qBLwuQs4aXu6g74VO/TL+akVGp57R+24JjjvTOHXGWqox2ypeB/k4fApeYvE5pxTgrYGIP99ORNYLqG+vwF7g==","signatures":[{"sig":"MEQCIHNH8rprsPx6zOPanyoAqXoeLVPcchUdDJ/R0R5GZVluAiBUNizEX+7f+sRka9TvQw3v2ubsRcwHSMxsTGTEer1m4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDrWdmM3RClRzRoJ3uMjqwaTjEwlvZRrezv26KQiwIlwgIgHZciCAQZb8D20+wv60h/8cT5l44BLkiVM4oYnXvQk84="}],"unpackedSize":874607},"main":"./dist/index.js","name":"@absolutejs/billing","type":"module","types":"./dist/index.d.ts","author":"Alex Kahn","module":"./dist/index.js","shasum":"47fd40cf5f92c0fae78534d7d9557b3c34002d9d","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./ledger":{"types":"./dist/ledger.d.ts","import":"./dist/ledger.js","default":"./dist/ledger.js"},"./prepaid":{"types":"./dist/prepaid.d.ts","import":"./dist/prepaid.js","default":"./dist/prepaid.js"},"./reports":{"types":"./dist/reports.d.ts","import":"./dist/reports.js","default":"./dist/reports.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./credit-work":{"types":"./dist/creditWork.d.ts","import":"./dist/creditWork.js","default":"./dist/creditWork.js"},"./manifest.json":"./dist/manifest.json","./credit-purchase":{"types":"./dist/creditPurchase.d.ts","import":"./dist/creditPurchase.js","default":"./dist/creditPurchase.js"},"./checkout-handoff":{"types":"./dist/checkoutHandoff.d.ts","import":"./dist/checkoutHandoff.js","default":"./dist/checkoutHandoff.js"},"./prepaid-postgres":{"types":"./dist/prepaidPostgres.d.ts","import":"./dist/prepaidPostgres.js","default":"./dist/prepaidPostgres.js"},"./vue/CreditAmountPicker":{"types":"./dist/vue/CreditAmountPicker.d.ts","import":"./dist/vue/CreditAmountPicker.js","default":"./dist/vue/CreditAmountPicker.js"},"./vue/CreditAmountPicker.vue":"./vue/CreditAmountPicker.vue","./vue/credit-amount-picker.css":"./dist/vue/credit-amount-picker.css"},"license":"BSL-1.1","scripts":{"test":"bun test tests/","build":"rm -rf dist && bun build src/index.ts src/ledger.ts src/prepaid.ts src/prepaidPostgres.ts src/creditWork.ts src/creditPurchase.ts src/checkoutHandoff.ts src/reports.ts src/manifest.ts --root ./src --outdir dist --sourcemap --target=bun && tsc --project tsconfig.build.json && absolute-manifest emit && bun scripts/build-vue.ts","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run check:package && bun publish","typecheck":"tsc --noEmit","check:package":"bun run typecheck && bun run build && bun run test && absolute-changelog check","prepublishOnly":"bun run check:package"},"version":"0.13.1","_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"homepage":"https://github.com/absolutejs/billing","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"_integrity":"sha512-0qBLwuQs4aXu6g74VO/TL+akVGp57R+24JjjvTOHXGWqox2ypeB/k4fApeYvE5pxTgrYGIP99ORNYLqG+vwF7g==","absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"_npmVersion":"10.8.3","description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","directories":{},"maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"_nodeVersion":"26.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.34","postgres":"3.4.9","prettier":"^3.8.3","@types/bun":"^1.3.14","typescript":"^5.9.0","@vue/compiler-sfc":"3.5.34","@electric-sql/pglite":"^0.3.14","@absolutejs/changelog":"^0.6.0"},"peerDependencies":{"vue":"^3.5.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/billing_0.13.1_1789301853043_0.22341140220351896"}}},"time":{"created":"2026-05-31T17:27:05.276Z","modified":"2026-09-13T12:17:33.299Z","0.1.0":"2026-05-31T17:27:05.577Z","0.2.0":"2026-06-20T17:14:39.015Z","0.2.1":"2026-06-20T20:49:03.329Z","0.2.2":"2026-07-13T17:38:17.109Z","0.3.0":"2026-07-23T11:58:22.245Z","0.3.1":"2026-07-24T18:07:06.946Z","0.3.2":"2026-07-31T04:42:52.251Z","0.4.0":"2026-07-31T05:46:34.810Z","0.5.0":"2026-07-31T05:51:03.156Z","0.6.0":"2026-07-31T06:01:29.286Z","0.7.0":"2026-09-11T03:57:58.663Z","0.8.0":"2026-09-11T04:43:19.530Z","0.9.0":"2026-09-11T05:15:11.167Z","0.9.1":"2026-09-11T23:13:28.964Z","0.10.0":"2026-09-13T05:01:06.091Z","0.11.0":"2026-09-13T08:58:25.117Z","0.12.0":"2026-09-13T10:32:18.730Z","0.13.0":"2026-09-13T11:35:17.311Z","0.13.1":"2026-09-13T12:17:33.143Z"},"bugs":{"url":"https://github.com/absolutejs/billing/issues"},"author":"Alex Kahn","license":"BSL-1.1","homepage":"https://github.com/absolutejs/billing","keywords":["absolutejs","billing","cost-model","metering","invoicing","saas","pricing"],"repository":{"url":"git+https://github.com/absolutejs/billing.git","type":"git"},"description":"Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform. Converts metered usage into exact integer-micro line items with tiers and allowances.","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"readme":"# `@absolutejs/billing`\n\n> Provider-neutral pricing and invoice computation used by the hosted AbsoluteJS.ai platform.\n\n`@absolutejs/billing` is the pure-function layer between\n`@absolutejs/metering` (which collects usage events) and an\ninvoicing backend (Stripe, QuickBooks, an internal billing engine).\n\nIt does two things:\n\n1. **`createPlan(...)`** — declares a priced product: optional flat\n   base fee, per-dimension unit prices, optional graduated tiers,\n   optional per-dimension free allowances.\n2. **`computeInvoice({ plan, period, tenant, usage })`** — pure\n   function that turns a `Usage` snapshot into an `Invoice` with\n   line items and a total.\n\nAll money math is done in integer **micros** (1 micro = 1/1,000,000\nof a currency unit — the same denomination Stripe stores prices in\ninternally). Float drift is structurally impossible: a $0.0002\nper-request price is `200` and rounding policy is explicit.\n\n```ts\nimport { createPlan, computeInvoice, formatMicros } from \"@absolutejs/billing\";\n\nconst plan = createPlan({\n  name: \"pro\",\n  currency: \"usd\",\n  basePriceMicros: 20_000_000, // $20/mo\n  pricedDimensions: {\n    requests: { perUnitMicros: 200, freeTier: 1_000_000 },\n    cpuMs: { perUnitMicros: 50, unit: 1000, freeTier: 60_000 * 60 * 10 },\n    bytesEgress: {\n      perUnitMicros: 100,\n      unit: 1024 * 1024,\n      freeTier: 100 * 1024 * 1024,\n    },\n    hibernationGbSeconds: { perUnitMicros: 5 },\n  },\n});\n\nconst invoice = computeInvoice({\n  plan,\n  tenant: \"acme\",\n  period: { start, end },\n  usage, // a Usage from @absolutejs/metering\n});\n\nconsole.log(formatMicros(invoice.totalMicros, invoice.currency));\n// \"27.50 USD\"\n```\n\n## Pricing shapes\n\nA `PricedDimension` is one of three:\n\n- **Flat per-unit** — `{ perUnitMicros: 200, unit: 1 }`\n- **Tiered (graduated)** — `{ tiers: [{ upTo: 1_000_000, perUnitMicros: 200 }, { upTo: Infinity, perUnitMicros: 100 }] }`\n- **Custom** — `{ price: (chargedQuantity) => micros }` (escape hatch for surge / caps / non-monotonic pricing)\n\nOptional knobs:\n\n- **`freeTier`** — units subtracted before pricing\n- **`unit`** — divisor so `bytesEgress` priced as MB ↔ `unit:\n1024*1024`\n- **`label`** — invoice line-item display name\n\nPlan-level knobs:\n\n- **`basePriceMicros`** — flat fee per period\n- **`minimumChargeMicros`** — floor; an adjustment line item fills\n  any gap\n- **`rounding`** — `'truncate'` (default; sub-cent → $0.00) or\n  `'round-half-up'`\n- **`currency`** — display label; not converted\n- **`metadata`** — arbitrary keys that flow through to the invoice\n\n## Why pure?\n\nThe control plane needs to:\n\n- **Preview** an upcoming invoice before the period closes\n- **Re-price** a past period under a new plan (\"what would this\n  customer have paid on the proposed enterprise tier?\")\n- **Dry-run** plan changes before publishing them\n\nA pure cost-model function makes all three trivial — no Stripe SDK,\nno side effects, no IO. The Stripe push (or QuickBooks export, or\nmailed-PDF generator) lives outside this package, in\n`@absolutejs/billing-adapters/*`.\n\n## License\n\nBSL-1.1 with named carveout against hosted SaaS billing platforms\n(Metronome, Orb, Lago, Stripe Billing, m3ter, Chargebee). See\n`LICENSE`. Change date: **2030-05-31** → Apache 2.0.\n\n## Prepaid service credits\n\n[Durable balances, reservations, capped work, and migration rules](docs/prepaid-credits.md) are available through the `prepaid`, `prepaid-postgres`, and `credit-work` subpaths.\n\n## Secure credit checkout\n\n[Purchase-only handoffs](docs/checkout-handoffs.md) provide expiring, single-use browser capabilities without a full login session.\n\n`@absolutejs/billing/reports` provides customer-facing status, receipt pagination, and usage contracts. `parseUsageRange` uses a half-open UTC date interval of at most 90 days (default: the last 30 days including today). Receipt cursors are positions, never authorization: bind every query, reversal join, and cursor to the caller's account. Readers must project through the public helpers, which omit provider costs, payment tokens and vault references. Usage day and feature totals must reconcile exactly; purchased dollars and consumed service credits are different measures. Automatic refill is currently unsupported.\n\n## Deferred progress\n\n`checkpointDeferred(accountId, workId, binding, expectedRevision, value)` saves\nprogress without settling or reserving more credits. The initial revision is 0;\nsuccess returns the incremented revision and saved string. It verifies the bound\neffect and authorization, rejects stale revisions and terminal work, and limits\nthe value to one million characters. Existing work uses the same JSON state\ncolumn; no schema migration is required.\n\nA checkpoint is not an execution lease. Claim execution separately, persist an\nin-flight marker before any provider call, drain metering before saving its\nresult, and retain the reservation if the outcome is uncertain.\n","readmeFilename":"README.md"}