{"id":"@lssm-tech/integration.governed-data-postgres","slug":"integration.governed-data-postgres","name":"@lssm-tech/integration.governed-data-postgres","version":"2.0.5","path":"packages/integrations/governed-data-postgres","manifestPath":"packages/integrations/governed-data-postgres/package.json","manifestBlobSha":"f1ced9e6d8530a4887587e00c89b9cdb17eb9e00","layer":"integrations","physicalArea":null,"primaryArea":"forms-and-data","classification":{"privateDeclared":null,"catalogFamily":"integrations","catalogKind":"integration","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Subject-bound PostgreSQL persistence for governed ecosystem projections.","descriptionOrigin":"package.json","catalog":{"family":"integrations","kind":"integration","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["bun","node"],"entrypoints":[".","./catalog-store","./migrations","./store"],"documentation":[{"title":"Governed data PostgreSQL integration","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.governed-data-postgres","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"governed.ecosystem-data.postgres","title":"Subject-bound governed data state","description":"Store governed projection catalogs, grants, decisions, revocations, acknowledgements, and rights jobs in a subject-scoped PostgreSQL boundary.","status":"active","useCases":["Persist metadata-only governed projection catalogs and grants","Execute idempotent transactional rights and revocation transitions under forced RLS"],"aliases":["governed data","projection grants","subject RLS","rights jobs"],"pythonEquivalents":["SQLAlchemy governed metadata repository"],"canonicalImports":[{"from":"@lssm-tech/integration.governed-data-postgres","symbols":[]},{"from":"@lssm-tech/integration.governed-data-postgres/store","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["bun","node"],"avoidWhen":["Projection payloads must be stored centrally; this package intentionally stores catalog and authority metadata only.","The deployment cannot force RLS or set pairwise-subject scope transaction-locally."],"requires":["PostgreSQL","governed projection contracts","pairwise subject identity"]},"alternatives":[],"relationships":[],"resolutionPriority":75}]},"canonicalImports":[{"capabilityId":"governed.ecosystem-data.postgres","from":"@lssm-tech/integration.governed-data-postgres","symbols":[]},{"capabilityId":"governed.ecosystem-data.postgres","from":"@lssm-tech/integration.governed-data-postgres/store","symbols":[]}],"scripts":{"build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","clean":"rimraf dist .turbo","lint:check":"node ../../../scripts/biome.cjs check .","lint:fix":"node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","test":"bun test","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-integrations":"workspace:^","@lssm-tech/lib.data-exchange-core":"workspace:^","@lssm-tech/lib.data-exchange-server":"workspace:^"},"devDependencies":{"@electric-sql/pglite":"catalog:data","@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","@types/bun":"catalog:types","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./catalog-store":"./src/catalog-store.ts","./database":"./src/database.ts","./delivery-records":"./src/delivery-records.ts","./grant-records":"./src/grant-records.ts","./migrations":"./src/migrations.ts","./pglite-test-support":"./src/pglite-test-support.ts","./revocation-records":"./src/revocation-records.ts","./rights-records":"./src/rights-records.ts","./store":"./src/store.ts","./worker-store":"./src/worker-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"},"./catalog-store":{"types":"./dist/catalog-store.d.ts","browser":"./dist/browser/catalog-store.js","bun":"./dist/catalog-store.js","node":"./dist/node/catalog-store.js","default":"./dist/catalog-store.js"},"./database":{"types":"./dist/database.d.ts","browser":"./dist/browser/database.js","bun":"./dist/database.js","node":"./dist/node/database.js","default":"./dist/database.js"},"./delivery-records":{"types":"./dist/delivery-records.d.ts","browser":"./dist/browser/delivery-records.js","bun":"./dist/delivery-records.js","node":"./dist/node/delivery-records.js","default":"./dist/delivery-records.js"},"./grant-records":{"types":"./dist/grant-records.d.ts","browser":"./dist/browser/grant-records.js","bun":"./dist/grant-records.js","node":"./dist/node/grant-records.js","default":"./dist/grant-records.js"},"./migrations":{"types":"./dist/migrations.d.ts","browser":"./dist/browser/migrations.js","bun":"./dist/migrations.js","node":"./dist/node/migrations.js","default":"./dist/migrations.js"},"./pglite-test-support":{"types":"./dist/pglite-test-support.d.ts","browser":"./dist/browser/pglite-test-support.js","bun":"./dist/pglite-test-support.js","node":"./dist/node/pglite-test-support.js","default":"./dist/pglite-test-support.js"},"./revocation-records":{"types":"./dist/revocation-records.d.ts","browser":"./dist/browser/revocation-records.js","bun":"./dist/revocation-records.js","node":"./dist/node/revocation-records.js","default":"./dist/revocation-records.js"},"./rights-records":{"types":"./dist/rights-records.d.ts","browser":"./dist/browser/rights-records.js","bun":"./dist/rights-records.js","node":"./dist/node/rights-records.js","default":"./dist/rights-records.js"},"./store":{"types":"./dist/store.d.ts","browser":"./dist/browser/store.js","bun":"./dist/store.js","node":"./dist/node/store.js","default":"./dist/store.js"},"./worker-store":{"types":"./dist/worker-store.d.ts","browser":"./dist/browser/worker-store.js","bun":"./dist/worker-store.js","node":"./dist/node/worker-store.js","default":"./dist/worker-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/integration.governed-data-postgres","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/integrations/governed-data-postgres/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./catalog-store","importPath":"@lssm-tech/integration.governed-data-postgres/catalog-store","target":"./src/catalog-store.ts","targets":[{"conditions":[],"target":"./src/catalog-store.ts","sourcePath":"packages/integrations/governed-data-postgres/src/catalog-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/catalog-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./database","importPath":"@lssm-tech/integration.governed-data-postgres/database","target":"./src/database.ts","targets":[{"conditions":[],"target":"./src/database.ts","sourcePath":"packages/integrations/governed-data-postgres/src/database.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/database.ts","sourceStatus":"verified source file"}]},{"subpath":"./delivery-records","importPath":"@lssm-tech/integration.governed-data-postgres/delivery-records","target":"./src/delivery-records.ts","targets":[{"conditions":[],"target":"./src/delivery-records.ts","sourcePath":"packages/integrations/governed-data-postgres/src/delivery-records.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/delivery-records.ts","sourceStatus":"verified source file"}]},{"subpath":"./grant-records","importPath":"@lssm-tech/integration.governed-data-postgres/grant-records","target":"./src/grant-records.ts","targets":[{"conditions":[],"target":"./src/grant-records.ts","sourcePath":"packages/integrations/governed-data-postgres/src/grant-records.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/grant-records.ts","sourceStatus":"verified source file"}]},{"subpath":"./migrations","importPath":"@lssm-tech/integration.governed-data-postgres/migrations","target":"./src/migrations.ts","targets":[{"conditions":[],"target":"./src/migrations.ts","sourcePath":"packages/integrations/governed-data-postgres/src/migrations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/migrations.ts","sourceStatus":"verified source file"}]},{"subpath":"./pglite-test-support","importPath":"@lssm-tech/integration.governed-data-postgres/pglite-test-support","target":"./src/pglite-test-support.ts","targets":[{"conditions":[],"target":"./src/pglite-test-support.ts","sourcePath":"packages/integrations/governed-data-postgres/src/pglite-test-support.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/pglite-test-support.ts","sourceStatus":"verified source file"}]},{"subpath":"./revocation-records","importPath":"@lssm-tech/integration.governed-data-postgres/revocation-records","target":"./src/revocation-records.ts","targets":[{"conditions":[],"target":"./src/revocation-records.ts","sourcePath":"packages/integrations/governed-data-postgres/src/revocation-records.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/revocation-records.ts","sourceStatus":"verified source file"}]},{"subpath":"./rights-records","importPath":"@lssm-tech/integration.governed-data-postgres/rights-records","target":"./src/rights-records.ts","targets":[{"conditions":[],"target":"./src/rights-records.ts","sourcePath":"packages/integrations/governed-data-postgres/src/rights-records.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/rights-records.ts","sourceStatus":"verified source file"}]},{"subpath":"./store","importPath":"@lssm-tech/integration.governed-data-postgres/store","target":"./src/store.ts","targets":[{"conditions":[],"target":"./src/store.ts","sourcePath":"packages/integrations/governed-data-postgres/src/store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/store.ts","sourceStatus":"verified source file"}]},{"subpath":"./worker-store","importPath":"@lssm-tech/integration.governed-data-postgres/worker-store","target":"./src/worker-store.ts","targets":[{"conditions":[],"target":"./src/worker-store.ts","sourcePath":"packages/integrations/governed-data-postgres/src/worker-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/src/worker-store.ts","sourceStatus":"verified source file"}]}],"entryCount":11,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Governed data PostgreSQL integration","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.governed-data-postgres","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/integration.governed-data-postgres.txt"},"readme":{"status":"available","body":"# @lssm-tech/integration.governed-data-postgres\n\nDurable PostgreSQL persistence for the LSSM governed projection gateway.\n\nThe adapter stores projection catalog metadata, exact field/purpose grants,\npayload-free access decisions, revocation events, leased delivery attempts and\nacknowledgements, and export/erasure job state. Product records and shared\nprojection payloads remain in their source systems and are read only through\nthe governed gateway.\n\nEvery subject-bearing table uses forced row-level security. Runtime stores set\n`app.governed_subject_ref` inside a short transaction and repeat the subject\npredicate in every query. The catalog is global metadata and cannot contain a\ndomain payload or secret material.\n\nThe package accepts the provider-neutral `DatabaseProvider`, so the host may\nbind managed PostgreSQL, a vertical-managed database, or a customer-managed\ndatabase without changing domain authority.\n\nCatalog entries are immutable by projection id. Exact idempotent replay is\naccepted; a changed schema, offer, consent copy, or provenance record must use a\nnew projection id so an existing grant cannot silently change meaning.\n\n`PostgresGovernedDeliveryWorkerStore` claims due work with expiring leases,\nrecovers abandoned leases, records only explicit consumer outcomes, schedules\nbounded retries, and moves ambiguous effects to a dead letter. Its operator\nprojection omits pairwise subjects and payloads; only terminal failed items can\nbe manually returned to `pending`.\n\nThe rights-job queue stores indexed processor, next-attempt, lease-expiry, and\nupdate metadata alongside the schema-validated record. Existing rows are\nbackfilled additively from their payload-free record JSON so scheduled scans do\nnot deserialize complete subject histories merely to find due work.\n","sourcePath":"packages/integrations/governed-data-postgres/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/governed-data-postgres/README.md","blobSha":"24bc5ae5ed495623bcb8ed9057ffc2eb1f85db31","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":"forms-and-data","areaTitle":"Forms, data views and data exchange","displayName":"integration.governed-data-postgres","runtimes":["bun","node"],"platforms":["server"],"kind":"integration","scope":"Package manifest","canonicalRoute":"/docs/packages/integration.governed-data-postgres/","contextUrl":"/docs/packages/integration.governed-data-postgres.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}