{"id":"@lssm-tech/lib.billing-runtime","slug":"lib.billing-runtime","name":"@lssm-tech/lib.billing-runtime","version":"2.0.4","path":"packages/domains/billing/runtime","manifestPath":"packages/domains/billing/runtime/package.json","manifestBlobSha":"5f5dd1a8955571214baec1a90ced1a31dff563ab","layer":"domains","physicalArea":"billing","primaryArea":"billing-and-finance","classification":{"privateDeclared":null,"catalogFamily":"runtime","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Pure backend-neutral BillingOS runtime helpers for deterministic quote-to-cash lifecycle projections.","descriptionOrigin":"package.json","catalog":{"family":"runtime","kind":"library","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./fixtures","./fixtures-rich","./observability","./observability/correlation","./observability/instrumentation-port","./observability/redaction","./ports","./ports/credit-note-repository-port","./ports/event-log-append-port","./ports/invoice-chain-append-port","./ports/invoice-repository-port","./ports/search-customers-memory","./ports/search-sellable-items-memory","./runtime","./service-agreement","./tax/aggregate-tax-breakdown","./truth","./truth/economic-ledger","./truth/finance-handoff","./truth/store"],"documentation":[{"title":"Lib Billing Runtime documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.billing-runtime","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.billing.runtime","title":"Lib Billing Runtime","description":"Pure backend-neutral BillingOS runtime helpers for deterministic quote-to-cash lifecycle projections.","status":"active","useCases":["Adopt pure backend-neutral billingos runtime helpers for deterministic quote-to-cash lifecycle projections"],"aliases":["lib","billing","runtime"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/lib.billing-runtime","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/fixtures","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/fixtures-rich","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/observability","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/observability/correlation","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/observability/instrumentation-port","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/observability/redaction","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/ports","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/ports/credit-note-repository-port","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/ports/event-log-append-port","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/ports/invoice-chain-append-port","symbols":[]},{"from":"@lssm-tech/lib.billing-runtime/ports/invoice-repository-port","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.billing-runtime package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/fixtures","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/fixtures-rich","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/observability","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/observability/correlation","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/observability/instrumentation-port","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/observability/redaction","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/ports","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/ports/credit-note-repository-port","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/ports/event-log-append-port","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/ports/invoice-chain-append-port","symbols":[]},{"capabilityId":"package.lssm.tech.lib.billing.runtime","from":"@lssm-tech/lib.billing-runtime/ports/invoice-repository-port","symbols":[]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.billing-spec":"workspace:^","@lssm-tech/lib.economic-evidence":"workspace:^","@lssm-tech/lib.contracts-spec-core":"workspace:^"},"devDependencies":{"@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./fixtures":"./src/fixtures.ts","./fixtures-rich":"./src/fixtures-rich.ts","./observability":"./src/observability/index.ts","./observability/correlation":"./src/observability/correlation.ts","./observability/instrumentation-port":"./src/observability/instrumentation-port.ts","./observability/redaction":"./src/observability/redaction.ts","./ports":"./src/ports/index.ts","./ports/credit-note-repository-port":"./src/ports/credit-note-repository-port.ts","./ports/event-log-append-port":"./src/ports/event-log-append-port.ts","./ports/invoice-chain-append-port":"./src/ports/invoice-chain-append-port.ts","./ports/invoice-repository-port":"./src/ports/invoice-repository-port.ts","./ports/search-customers-memory":"./src/ports/search-customers-memory.ts","./ports/search-sellable-items-memory":"./src/ports/search-sellable-items-memory.ts","./runtime":"./src/runtime.ts","./service-agreement":"./src/service-agreement/index.ts","./tax/aggregate-tax-breakdown":"./src/tax/aggregate-tax-breakdown.ts","./truth":"./src/truth/index.ts","./truth/economic-ledger":"./src/truth/economic-ledger.ts","./truth/finance-handoff":"./src/truth/finance-handoff.ts","./truth/store":"./src/truth/store.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./fixtures":{"types":"./dist/fixtures.d.ts","browser":"./dist/browser/fixtures.js","bun":"./dist/fixtures.js","node":"./dist/node/fixtures.js","default":"./dist/fixtures.js"},"./fixtures-rich":{"types":"./dist/fixtures-rich.d.ts","browser":"./dist/browser/fixtures-rich.js","bun":"./dist/fixtures-rich.js","node":"./dist/node/fixtures-rich.js","default":"./dist/fixtures-rich.js"},"./observability":{"types":"./dist/observability/index.d.ts","browser":"./dist/browser/observability/index.js","bun":"./dist/observability/index.js","node":"./dist/node/observability/index.js","default":"./dist/observability/index.js"},"./observability/correlation":{"types":"./dist/observability/correlation.d.ts","browser":"./dist/browser/observability/correlation.js","bun":"./dist/observability/correlation.js","node":"./dist/node/observability/correlation.js","default":"./dist/observability/correlation.js"},"./observability/instrumentation-port":{"types":"./dist/observability/instrumentation-port.d.ts","browser":"./dist/browser/observability/instrumentation-port.js","bun":"./dist/observability/instrumentation-port.js","node":"./dist/node/observability/instrumentation-port.js","default":"./dist/observability/instrumentation-port.js"},"./observability/redaction":{"types":"./dist/observability/redaction.d.ts","browser":"./dist/browser/observability/redaction.js","bun":"./dist/observability/redaction.js","node":"./dist/node/observability/redaction.js","default":"./dist/observability/redaction.js"},"./ports":{"types":"./dist/ports/index.d.ts","browser":"./dist/browser/ports/index.js","bun":"./dist/ports/index.js","node":"./dist/node/ports/index.js","default":"./dist/ports/index.js"},"./ports/credit-note-repository-port":{"types":"./dist/ports/credit-note-repository-port.d.ts","browser":"./dist/browser/ports/credit-note-repository-port.js","bun":"./dist/ports/credit-note-repository-port.js","node":"./dist/node/ports/credit-note-repository-port.js","default":"./dist/ports/credit-note-repository-port.js"},"./ports/event-log-append-port":{"types":"./dist/ports/event-log-append-port.d.ts","browser":"./dist/browser/ports/event-log-append-port.js","bun":"./dist/ports/event-log-append-port.js","node":"./dist/node/ports/event-log-append-port.js","default":"./dist/ports/event-log-append-port.js"},"./ports/invoice-chain-append-port":{"types":"./dist/ports/invoice-chain-append-port.d.ts","browser":"./dist/browser/ports/invoice-chain-append-port.js","bun":"./dist/ports/invoice-chain-append-port.js","node":"./dist/node/ports/invoice-chain-append-port.js","default":"./dist/ports/invoice-chain-append-port.js"},"./ports/invoice-repository-port":{"types":"./dist/ports/invoice-repository-port.d.ts","browser":"./dist/browser/ports/invoice-repository-port.js","bun":"./dist/ports/invoice-repository-port.js","node":"./dist/node/ports/invoice-repository-port.js","default":"./dist/ports/invoice-repository-port.js"},"./ports/search-customers-memory":{"types":"./dist/ports/search-customers-memory.d.ts","browser":"./dist/browser/ports/search-customers-memory.js","bun":"./dist/ports/search-customers-memory.js","node":"./dist/node/ports/search-customers-memory.js","default":"./dist/ports/search-customers-memory.js"},"./ports/search-sellable-items-memory":{"types":"./dist/ports/search-sellable-items-memory.d.ts","browser":"./dist/browser/ports/search-sellable-items-memory.js","bun":"./dist/ports/search-sellable-items-memory.js","node":"./dist/node/ports/search-sellable-items-memory.js","default":"./dist/ports/search-sellable-items-memory.js"},"./service-agreement":{"types":"./dist/service-agreement/index.d.ts","browser":"./dist/browser/service-agreement/index.js","bun":"./dist/service-agreement/index.js","node":"./dist/node/service-agreement/index.js","default":"./dist/service-agreement/index.js"},"./runtime":{"types":"./dist/runtime.d.ts","browser":"./dist/browser/runtime.js","bun":"./dist/runtime.js","node":"./dist/node/runtime.js","default":"./dist/runtime.js"},"./tax/aggregate-tax-breakdown":{"types":"./dist/tax/aggregate-tax-breakdown.d.ts","browser":"./dist/browser/tax/aggregate-tax-breakdown.js","bun":"./dist/tax/aggregate-tax-breakdown.js","node":"./dist/node/tax/aggregate-tax-breakdown.js","default":"./dist/tax/aggregate-tax-breakdown.js"},"./truth":{"types":"./dist/truth/index.d.ts","browser":"./dist/browser/truth/index.js","bun":"./dist/truth/index.js","node":"./dist/node/truth/index.js","default":"./dist/truth/index.js"},"./truth/economic-ledger":{"types":"./dist/truth/economic-ledger.d.ts","browser":"./dist/browser/truth/economic-ledger.js","bun":"./dist/truth/economic-ledger.js","node":"./dist/node/truth/economic-ledger.js","default":"./dist/truth/economic-ledger.js"},"./truth/finance-handoff":{"types":"./dist/truth/finance-handoff.d.ts","browser":"./dist/browser/truth/finance-handoff.js","bun":"./dist/truth/finance-handoff.js","node":"./dist/node/truth/finance-handoff.js","default":"./dist/truth/finance-handoff.js"},"./truth/store":{"types":"./dist/truth/store.d.ts","browser":"./dist/browser/truth/store.js","bun":"./dist/truth/store.js","node":"./dist/node/truth/store.js","default":"./dist/truth/store.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/lib.billing-runtime","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/domains/billing/runtime/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures","importPath":"@lssm-tech/lib.billing-runtime/fixtures","target":"./src/fixtures.ts","targets":[{"conditions":[],"target":"./src/fixtures.ts","sourcePath":"packages/domains/billing/runtime/src/fixtures.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/fixtures.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures-rich","importPath":"@lssm-tech/lib.billing-runtime/fixtures-rich","target":"./src/fixtures-rich.ts","targets":[{"conditions":[],"target":"./src/fixtures-rich.ts","sourcePath":"packages/domains/billing/runtime/src/fixtures-rich.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/fixtures-rich.ts","sourceStatus":"verified source file"}]},{"subpath":"./observability","importPath":"@lssm-tech/lib.billing-runtime/observability","target":"./src/observability/index.ts","targets":[{"conditions":[],"target":"./src/observability/index.ts","sourcePath":"packages/domains/billing/runtime/src/observability/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/observability/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./observability/correlation","importPath":"@lssm-tech/lib.billing-runtime/observability/correlation","target":"./src/observability/correlation.ts","targets":[{"conditions":[],"target":"./src/observability/correlation.ts","sourcePath":"packages/domains/billing/runtime/src/observability/correlation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/observability/correlation.ts","sourceStatus":"verified source file"}]},{"subpath":"./observability/instrumentation-port","importPath":"@lssm-tech/lib.billing-runtime/observability/instrumentation-port","target":"./src/observability/instrumentation-port.ts","targets":[{"conditions":[],"target":"./src/observability/instrumentation-port.ts","sourcePath":"packages/domains/billing/runtime/src/observability/instrumentation-port.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/observability/instrumentation-port.ts","sourceStatus":"verified source file"}]},{"subpath":"./observability/redaction","importPath":"@lssm-tech/lib.billing-runtime/observability/redaction","target":"./src/observability/redaction.ts","targets":[{"conditions":[],"target":"./src/observability/redaction.ts","sourcePath":"packages/domains/billing/runtime/src/observability/redaction.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/observability/redaction.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports","importPath":"@lssm-tech/lib.billing-runtime/ports","target":"./src/ports/index.ts","targets":[{"conditions":[],"target":"./src/ports/index.ts","sourcePath":"packages/domains/billing/runtime/src/ports/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/ports/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports/credit-note-repository-port","importPath":"@lssm-tech/lib.billing-runtime/ports/credit-note-repository-port","target":"./src/ports/credit-note-repository-port.ts","targets":[{"conditions":[],"target":"./src/ports/credit-note-repository-port.ts","sourcePath":"packages/domains/billing/runtime/src/ports/credit-note-repository-port.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/ports/credit-note-repository-port.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports/event-log-append-port","importPath":"@lssm-tech/lib.billing-runtime/ports/event-log-append-port","target":"./src/ports/event-log-append-port.ts","targets":[{"conditions":[],"target":"./src/ports/event-log-append-port.ts","sourcePath":"packages/domains/billing/runtime/src/ports/event-log-append-port.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/ports/event-log-append-port.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports/invoice-chain-append-port","importPath":"@lssm-tech/lib.billing-runtime/ports/invoice-chain-append-port","target":"./src/ports/invoice-chain-append-port.ts","targets":[{"conditions":[],"target":"./src/ports/invoice-chain-append-port.ts","sourcePath":"packages/domains/billing/runtime/src/ports/invoice-chain-append-port.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/ports/invoice-chain-append-port.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports/invoice-repository-port","importPath":"@lssm-tech/lib.billing-runtime/ports/invoice-repository-port","target":"./src/ports/invoice-repository-port.ts","targets":[{"conditions":[],"target":"./src/ports/invoice-repository-port.ts","sourcePath":"packages/domains/billing/runtime/src/ports/invoice-repository-port.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/ports/invoice-repository-port.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports/search-customers-memory","importPath":"@lssm-tech/lib.billing-runtime/ports/search-customers-memory","target":"./src/ports/search-customers-memory.ts","targets":[{"conditions":[],"target":"./src/ports/search-customers-memory.ts","sourcePath":"packages/domains/billing/runtime/src/ports/search-customers-memory.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/ports/search-customers-memory.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports/search-sellable-items-memory","importPath":"@lssm-tech/lib.billing-runtime/ports/search-sellable-items-memory","target":"./src/ports/search-sellable-items-memory.ts","targets":[{"conditions":[],"target":"./src/ports/search-sellable-items-memory.ts","sourcePath":"packages/domains/billing/runtime/src/ports/search-sellable-items-memory.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/ports/search-sellable-items-memory.ts","sourceStatus":"verified source file"}]},{"subpath":"./runtime","importPath":"@lssm-tech/lib.billing-runtime/runtime","target":"./src/runtime.ts","targets":[{"conditions":[],"target":"./src/runtime.ts","sourcePath":"packages/domains/billing/runtime/src/runtime.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/runtime.ts","sourceStatus":"verified source file"}]},{"subpath":"./service-agreement","importPath":"@lssm-tech/lib.billing-runtime/service-agreement","target":"./src/service-agreement/index.ts","targets":[{"conditions":[],"target":"./src/service-agreement/index.ts","sourcePath":"packages/domains/billing/runtime/src/service-agreement/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/service-agreement/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./tax/aggregate-tax-breakdown","importPath":"@lssm-tech/lib.billing-runtime/tax/aggregate-tax-breakdown","target":"./src/tax/aggregate-tax-breakdown.ts","targets":[{"conditions":[],"target":"./src/tax/aggregate-tax-breakdown.ts","sourcePath":"packages/domains/billing/runtime/src/tax/aggregate-tax-breakdown.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/tax/aggregate-tax-breakdown.ts","sourceStatus":"verified source file"}]},{"subpath":"./truth","importPath":"@lssm-tech/lib.billing-runtime/truth","target":"./src/truth/index.ts","targets":[{"conditions":[],"target":"./src/truth/index.ts","sourcePath":"packages/domains/billing/runtime/src/truth/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/truth/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./truth/economic-ledger","importPath":"@lssm-tech/lib.billing-runtime/truth/economic-ledger","target":"./src/truth/economic-ledger.ts","targets":[{"conditions":[],"target":"./src/truth/economic-ledger.ts","sourcePath":"packages/domains/billing/runtime/src/truth/economic-ledger.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/truth/economic-ledger.ts","sourceStatus":"verified source file"}]},{"subpath":"./truth/finance-handoff","importPath":"@lssm-tech/lib.billing-runtime/truth/finance-handoff","target":"./src/truth/finance-handoff.ts","targets":[{"conditions":[],"target":"./src/truth/finance-handoff.ts","sourcePath":"packages/domains/billing/runtime/src/truth/finance-handoff.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/truth/finance-handoff.ts","sourceStatus":"verified source file"}]},{"subpath":"./truth/store","importPath":"@lssm-tech/lib.billing-runtime/truth/store","target":"./src/truth/store.ts","targets":[{"conditions":[],"target":"./src/truth/store.ts","sourcePath":"packages/domains/billing/runtime/src/truth/store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/src/truth/store.ts","sourceStatus":"verified source file"}]}],"entryCount":21,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Billing Runtime documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.billing-runtime","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.billing-runtime.txt"},"readme":{"status":"available","body":"# `@lssm-tech/lib.billing-runtime`\n\nPure, backend-neutral BillingOS runtime helpers over `@lssm-tech/lib.billing-spec`.\n\nFrance readiness metadata is not PA accreditation, production PA submission, legal advice, or tax advice.\n\n## Runtime helpers\n\n`@lssm-tech/lib.billing-runtime` provides pure helper engines over `@lssm-tech/lib.billing-spec`:\n\n- quote/order/invoice/payment/reconciliation lifecycle projections;\n- deterministic pricing totals with an injected synchronous tax-calculation port;\n- local workflow event creation/appending;\n- payment-state reconciliation hints;\n- draft accounting export shaping;\n- deterministic quote-to-cash cockpit projections with lifecycle, approval-packet, surface, and finance-review handoff metadata; and\n- agent planning guards that produce approval packets instead of executing high-impact billing actions.\n\nThe package performs no network calls, filesystem access, provider SDK calls, credential handling, persistence writes, PA submission, or autonomous production billing execution.\n\n## BillingOS truth and FinanceOS handoff\n\nThe additive `./truth` surface projects normalized billing facts into the\nappend-only economic-evidence lifecycle, provides a tenant-isolated in-memory\nreference store with revision and idempotency guards, records superseding\ncorrections without deleting history, and validates balanced, company-scoped\nposting handoffs. A posting handoff remains a proposal until an explicit\nContractSpec Connect authorization reference is supplied.\n\n## Persistence ports (additive)\n\nBackend-neutral port interfaces that a host implements against its store; the package defines the contracts, never the adapters:\n\n- `InvoiceRepositoryPort` — persist and read issued invoices.\n- `EventLogAppendPort` — append-only billing workflow event log.\n- `InvoiceChainAppendPort` — append entries to the per-period invoice hash-chain.\n- `CreditNoteRepositoryPort` — persist and read credit notes (avoir).\n\n## Observability (additive)\n\n- `BillingObservabilityPort` — structured, correlation-id-propagating observability hook for issuance and submission.\n- Field-level redaction of SIREN/SIRET/VAT identifiers, secrets, and amounts so no sensitive payload is logged; redaction is applied before any sink receives the record.\n\n## Service agreements (`./service-agreement`, additive)\n\nPure engines and host ports for `@lssm-tech/lib.billing-spec/service-agreement`:\n\n- `recordServiceUsage` / `correctServiceUsage` over `ServiceUsageLedgerPort`:\n  atomic usage + outbox + work-completion transaction; identical replay returns\n  the stored receipt, a changed payload conflicts, corrections supersede the\n  current head without deleting history.\n- `recordMeteredServiceUsage` over `ServicePriceTablePort` and\n  `MeteredServiceUsageStorePort`: meters one platform service call exactly\n  once per tenant and usage ref, rated by `selectServicePriceVersion` /\n  `rateServiceUsage` against the version effective at the occurrence. It never\n  guesses a price: the call is `unpriced` until the owner sets one. An\n  optional `MeteredServiceBillingPort` appends the call to the service usage\n  ledger through `recordServiceUsage` when the tenant's agreement sells the\n  meter; a replay returns the stored receipt and a changed payload conflicts.\n  `occurredAt` is metadata: the first recorded occurrence wins, and a retry\n  after a crash that left the call in the ledger only adopts that ledger event.\n  The bound ledger must scope event ids (`usage:<usageRef>`) by tenant.\n  `toMeterServiceUsageOutput` projects a result onto the\n  `billing.service.usage.meter` output; the host emits its\n  `billing.service.usage.metered` audit record.\n  `InMemoryServicePriceTable` and `InMemoryMeteredServiceUsageStore` are the\n  reference adapters.\n- `computeServiceInvoiceDraft`: deterministic, digest-bound drafts per cadence\n  period with frozen price editions; late usage and post-issue corrections\n  become adjustment or credit lines for the earlier period instead of\n  rewriting issued invoices; BYOK never yields passthrough.\n- `reserveServiceCapacity` / `settleServiceReservation` / `resumeServiceBudget`\n  over a compare-and-set `ServiceBudgetStorePort`: allowance, approved overage\n  ceiling, bounded grace and pause, plus a separate internal provider budget.\n- `buildOnPremUsageBatch` / `importOnPremUsageBatch`: signed digest-only batches\n  with replay, gap, fork, instance-change, key-rotation and clock checks.\n- `submitServiceInvoiceOnce` / `issueServiceInvoice` / `applyServicePaymentEvent`:\n  approved, exactly-once submission (unique per tenant and merchant), approved\n  issue, and idempotent, order-safe payment evidence.\n- `openServiceCollection` / `issueStoredServiceInvoice` /\n  `receiveServicePaymentEvent` over `ServiceCollectionStorePort`: collection\n  state per invoice under a row lock; a verified webhook is stored once per\n  merchant and provider event id (redelivery is a duplicate, a changed payload\n  conflicts), and events that arrive before issuance are held and applied at\n  issuance.\n- `requireServiceApproval`: consequential actions verify an\n  `OperationApprovalReceipt` through the host's `OperationApprovalPort`\n  (subject, operation key/version, input digest, consumed nonce). A\n  caller-supplied decision string is never authority; with no port bound the\n  action fails closed.\n\nIn-memory reference adapters mirror the required host semantics for tests; they\nare not durable storage. Hosts bind the ports to their database.\n","sourcePath":"packages/domains/billing/runtime/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/billing/runtime/README.md","blobSha":"6e0515974ec85bf399f8739591abc3715df2534e","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"billing-and-finance","areaTitle":"Billing, finance and economic evidence","displayName":"lib.billing-runtime","runtimes":["node"],"platforms":["server"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.billing-runtime/","contextUrl":"/docs/packages/lib.billing-runtime.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}