{"id":"@lssm-tech/lib.progressive-delivery","slug":"lib.progressive-delivery","name":"@lssm-tech/lib.progressive-delivery","version":"40.0.5","path":"packages/platform/governance/progressive-delivery","manifestPath":"packages/platform/governance/progressive-delivery/package.json","manifestBlobSha":"5b935184d17ad81ef1c6a5eae6161a92392fae03","layer":"platform","physicalArea":"governance","primaryArea":"delivery-and-infrastructure","classification":{"privateDeclared":null,"catalogFamily":"sharedLibs","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"stable"},"description":"Progressive-delivery contracts and runtime controls for safe staged rollouts.","descriptionOrigin":"package.json","catalog":{"family":"sharedLibs","kind":"library","status":"active","adoptionMode":"adoptable","stability":"stable","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./pwa/constants","./pwa/contracts","./pwa","./pwa/pwa.feature","./pwa/capabilities","./pwa/capabilities/pwaUpdateManagement.capability","./pwa/events","./pwa/events/pwaUpdateApplied.event","./pwa/events/pwaUpdateDeferred.event","./pwa/events/pwaUpdatePrompted.event","./pwa/queries","./pwa/queries/pwaUpdateCheck.query"],"documentation":[{"title":"Lib Progressive Delivery documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.progressive-delivery","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.progressive.delivery","title":"Lib Progressive Delivery","description":"Progressive-delivery contracts and runtime controls for safe staged rollouts.","status":"active","useCases":["Adopt progressive-delivery contracts and runtime controls for safe staged rollouts"],"aliases":["lib","progressive","delivery"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/lib.progressive-delivery","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.progressive-delivery package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.progressive.delivery","from":"@lssm-tech/lib.progressive-delivery","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 --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","prebuild":"contractspec-bun-build prebuild","test":"bun test","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/lib.schema":"workspace:^","@lssm-tech/lib.contracts-runtime-kernel":"workspace:^","@lssm-tech/lib.surface-runtime":"workspace:^"},"devDependencies":{"@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:","@lssm-tech/tool.bun":"workspace:*"},"peerDependencies":{"@lssm-tech/lib.observability":"workspace:^"},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./pwa/constants":"./src/pwa/constants.ts","./pwa/contracts":"./src/pwa/contracts.ts","./pwa":"./src/pwa/index.ts","./pwa/pwa.feature":"./src/pwa/pwa.feature.ts","./pwa/capabilities":"./src/pwa/capabilities/index.ts","./pwa/capabilities/pwaUpdateManagement.capability":"./src/pwa/capabilities/pwaUpdateManagement.capability.ts","./pwa/events":"./src/pwa/events/index.ts","./pwa/events/pwaUpdateApplied.event":"./src/pwa/events/pwaUpdateApplied.event.ts","./pwa/events/pwaUpdateDeferred.event":"./src/pwa/events/pwaUpdateDeferred.event.ts","./pwa/events/pwaUpdatePrompted.event":"./src/pwa/events/pwaUpdatePrompted.event.ts","./pwa/queries":"./src/pwa/queries/index.ts","./pwa/queries/pwaUpdateCheck.query":"./src/pwa/queries/pwaUpdateCheck.query.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"},"./pwa/constants":{"types":"./dist/pwa/constants.d.ts","browser":"./dist/browser/pwa/constants.js","bun":"./dist/pwa/constants.js","node":"./dist/node/pwa/constants.js","default":"./dist/pwa/constants.js"},"./pwa/contracts":{"types":"./dist/pwa/contracts.d.ts","browser":"./dist/browser/pwa/contracts.js","bun":"./dist/pwa/contracts.js","node":"./dist/node/pwa/contracts.js","default":"./dist/pwa/contracts.js"},"./pwa":{"types":"./dist/pwa/index.d.ts","browser":"./dist/browser/pwa/index.js","bun":"./dist/pwa/index.js","node":"./dist/node/pwa/index.js","default":"./dist/pwa/index.js"},"./pwa/pwa.feature":{"types":"./dist/pwa/pwa.feature.d.ts","browser":"./dist/browser/pwa/pwa.feature.js","bun":"./dist/pwa/pwa.feature.js","node":"./dist/node/pwa/pwa.feature.js","default":"./dist/pwa/pwa.feature.js"},"./pwa/capabilities":{"types":"./dist/pwa/capabilities/index.d.ts","browser":"./dist/browser/pwa/capabilities/index.js","bun":"./dist/pwa/capabilities/index.js","node":"./dist/node/pwa/capabilities/index.js","default":"./dist/pwa/capabilities/index.js"},"./pwa/capabilities/pwaUpdateManagement.capability":{"types":"./dist/pwa/capabilities/pwaUpdateManagement.capability.d.ts","browser":"./dist/browser/pwa/capabilities/pwaUpdateManagement.capability.js","bun":"./dist/pwa/capabilities/pwaUpdateManagement.capability.js","node":"./dist/node/pwa/capabilities/pwaUpdateManagement.capability.js","default":"./dist/pwa/capabilities/pwaUpdateManagement.capability.js"},"./pwa/events":{"types":"./dist/pwa/events/index.d.ts","browser":"./dist/browser/pwa/events/index.js","bun":"./dist/pwa/events/index.js","node":"./dist/node/pwa/events/index.js","default":"./dist/pwa/events/index.js"},"./pwa/events/pwaUpdateApplied.event":{"types":"./dist/pwa/events/pwaUpdateApplied.event.d.ts","browser":"./dist/browser/pwa/events/pwaUpdateApplied.event.js","bun":"./dist/pwa/events/pwaUpdateApplied.event.js","node":"./dist/node/pwa/events/pwaUpdateApplied.event.js","default":"./dist/pwa/events/pwaUpdateApplied.event.js"},"./pwa/events/pwaUpdateDeferred.event":{"types":"./dist/pwa/events/pwaUpdateDeferred.event.d.ts","browser":"./dist/browser/pwa/events/pwaUpdateDeferred.event.js","bun":"./dist/pwa/events/pwaUpdateDeferred.event.js","node":"./dist/node/pwa/events/pwaUpdateDeferred.event.js","default":"./dist/pwa/events/pwaUpdateDeferred.event.js"},"./pwa/events/pwaUpdatePrompted.event":{"types":"./dist/pwa/events/pwaUpdatePrompted.event.d.ts","browser":"./dist/browser/pwa/events/pwaUpdatePrompted.event.js","bun":"./dist/pwa/events/pwaUpdatePrompted.event.js","node":"./dist/node/pwa/events/pwaUpdatePrompted.event.js","default":"./dist/pwa/events/pwaUpdatePrompted.event.js"},"./pwa/queries":{"types":"./dist/pwa/queries/index.d.ts","browser":"./dist/browser/pwa/queries/index.js","bun":"./dist/pwa/queries/index.js","node":"./dist/node/pwa/queries/index.js","default":"./dist/pwa/queries/index.js"},"./pwa/queries/pwaUpdateCheck.query":{"types":"./dist/pwa/queries/pwaUpdateCheck.query.d.ts","browser":"./dist/browser/pwa/queries/pwaUpdateCheck.query.js","bun":"./dist/pwa/queries/pwaUpdateCheck.query.js","node":"./dist/node/pwa/queries/pwaUpdateCheck.query.js","default":"./dist/pwa/queries/pwaUpdateCheck.query.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.progressive-delivery","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/constants","importPath":"@lssm-tech/lib.progressive-delivery/pwa/constants","target":"./src/pwa/constants.ts","targets":[{"conditions":[],"target":"./src/pwa/constants.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/constants.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/constants.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/contracts","importPath":"@lssm-tech/lib.progressive-delivery/pwa/contracts","target":"./src/pwa/contracts.ts","targets":[{"conditions":[],"target":"./src/pwa/contracts.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/contracts.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/contracts.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa","importPath":"@lssm-tech/lib.progressive-delivery/pwa","target":"./src/pwa/index.ts","targets":[{"conditions":[],"target":"./src/pwa/index.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/pwa.feature","importPath":"@lssm-tech/lib.progressive-delivery/pwa/pwa.feature","target":"./src/pwa/pwa.feature.ts","targets":[{"conditions":[],"target":"./src/pwa/pwa.feature.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/pwa.feature.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/pwa.feature.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/capabilities","importPath":"@lssm-tech/lib.progressive-delivery/pwa/capabilities","target":"./src/pwa/capabilities/index.ts","targets":[{"conditions":[],"target":"./src/pwa/capabilities/index.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/capabilities/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/capabilities/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/capabilities/pwaUpdateManagement.capability","importPath":"@lssm-tech/lib.progressive-delivery/pwa/capabilities/pwaUpdateManagement.capability","target":"./src/pwa/capabilities/pwaUpdateManagement.capability.ts","targets":[{"conditions":[],"target":"./src/pwa/capabilities/pwaUpdateManagement.capability.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/capabilities/pwaUpdateManagement.capability.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/capabilities/pwaUpdateManagement.capability.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/events","importPath":"@lssm-tech/lib.progressive-delivery/pwa/events","target":"./src/pwa/events/index.ts","targets":[{"conditions":[],"target":"./src/pwa/events/index.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/events/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/events/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/events/pwaUpdateApplied.event","importPath":"@lssm-tech/lib.progressive-delivery/pwa/events/pwaUpdateApplied.event","target":"./src/pwa/events/pwaUpdateApplied.event.ts","targets":[{"conditions":[],"target":"./src/pwa/events/pwaUpdateApplied.event.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/events/pwaUpdateApplied.event.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/events/pwaUpdateApplied.event.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/events/pwaUpdateDeferred.event","importPath":"@lssm-tech/lib.progressive-delivery/pwa/events/pwaUpdateDeferred.event","target":"./src/pwa/events/pwaUpdateDeferred.event.ts","targets":[{"conditions":[],"target":"./src/pwa/events/pwaUpdateDeferred.event.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/events/pwaUpdateDeferred.event.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/events/pwaUpdateDeferred.event.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/events/pwaUpdatePrompted.event","importPath":"@lssm-tech/lib.progressive-delivery/pwa/events/pwaUpdatePrompted.event","target":"./src/pwa/events/pwaUpdatePrompted.event.ts","targets":[{"conditions":[],"target":"./src/pwa/events/pwaUpdatePrompted.event.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/events/pwaUpdatePrompted.event.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/events/pwaUpdatePrompted.event.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/queries","importPath":"@lssm-tech/lib.progressive-delivery/pwa/queries","target":"./src/pwa/queries/index.ts","targets":[{"conditions":[],"target":"./src/pwa/queries/index.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/queries/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/queries/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./pwa/queries/pwaUpdateCheck.query","importPath":"@lssm-tech/lib.progressive-delivery/pwa/queries/pwaUpdateCheck.query","target":"./src/pwa/queries/pwaUpdateCheck.query.ts","targets":[{"conditions":[],"target":"./src/pwa/queries/pwaUpdateCheck.query.ts","sourcePath":"packages/platform/governance/progressive-delivery/src/pwa/queries/pwaUpdateCheck.query.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/src/pwa/queries/pwaUpdateCheck.query.ts","sourceStatus":"verified source file"}]}],"entryCount":13,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Progressive Delivery documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.progressive-delivery","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.progressive-delivery.txt"},"readme":{"status":"available","body":"# @lssm-tech/lib.progressive-delivery\n\n**Progressive delivery and canary release primitives. Provides strategy definitions and rollout logic for safe, incremental deployments.**\n\n## What It Provides\n\n- **Layer**: lib.\n- **Consumers**: bundles.\n- Related ContractSpec packages include `@lssm-tech/lib.observability`, `@lssm-tech/tool.bun`, `@lssm-tech/tool.typescript`.\n- Related ContractSpec packages include `@lssm-tech/lib.observability`, `@lssm-tech/tool.bun`, `@lssm-tech/tool.typescript`.\n\n## Installation\n\n`npm install @lssm-tech/lib.progressive-delivery`\n\nor\n\n`bun add @lssm-tech/lib.progressive-delivery`\n\n## Usage\n\nImport the root entrypoint from `@lssm-tech/lib.progressive-delivery`, or choose a documented subpath when you only need one part of the package surface.\n\n## Architecture\n\n- `src/canary-analyzer.ts` is part of the package's public or composition surface.\n- `src/canary-controller.ts` is part of the package's public or composition surface.\n- `src/deployment-coordinator.ts` is part of the package's public or composition surface.\n- `src/events.ts` is package-level event definitions.\n- `src/feature-flags.ts` is part of the package's public or composition surface.\n- `src/index.ts` is the root public barrel and package entrypoint.\n- `src/rollback-manager.ts` is part of the package's public or composition surface.\n\n## Public Entry Points\n\n- Export `.` resolves through `./src/index.ts`.\n\n## Local Commands\n\n- `bun run dev` — contractspec-bun-build dev\n- `bun run build` — contractspec-bun-build build\n- `bun run lint` — bun lint:fix\n- `bun run lint:check` — biome check .\n- `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .\n- `bun run typecheck` — tsgo --noEmit\n- `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose\n- `bun run publish:pkg:canary` — bun publish:pkg --tag canary\n- `bun run clean` — rimraf dist .turbo\n- `bun run build:bundle` — contractspec-bun-build transpile\n- `bun run build:types` — contractspec-bun-build types\n- `bun run prebuild` — contractspec-bun-build prebuild\n\n## Recent Updates\n\n- Replace eslint+prettier by biomejs to optimize speed.\n\n## Notes\n\n- Delivery strategies must be deterministic — same input must produce same rollout decision.\n- Peer dependency on observability; ensure OTel integration stays aligned.\n- Strategy interface changes affect all deployment pipelines consuming this lib.\n\nThe package Turbo extension explicitly schedules observability before full and\ndeclaration-only builds. Observability remains a peer dependency for consumers;\nits declaration artifact must exist before the workspace declaration resolver runs.\n# PWA update contracts\n\nThe pure `@lssm-tech/lib.progressive-delivery/pwa` entry owns browser frontend\nrelease checks, optional/blocking update policy contracts and prompt/applied/\ndeferred telemetry. This extends staged-release ownership to client update\ndelivery; service-worker activation remains host-owned. The leaf does not import\ncanary controllers, deployment coordinators, observability or other runtime roots.\n\nExisting `@lssm-tech/lib.contracts-spec/pwa` imports and deeper contract paths\nforward to these exact definitions. Core continues to own portable manifest\nmodels, and the runtime kernel owns manifest registries and version selection.\nWire keys, REST routes, anonymous check policy and registration behavior are\npreserved. Capability registry types refer to the existing SurfaceRuntime owner.\n","sourcePath":"packages/platform/governance/progressive-delivery/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/governance/progressive-delivery/README.md","blobSha":"e7962af10681a3e53a08ac339701f7a8d6b478cd","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":"delivery-and-infrastructure","areaTitle":"Delivery, infrastructure and runtime operations","displayName":"lib.progressive-delivery","runtimes":["node"],"platforms":["server"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.progressive-delivery/","contextUrl":"/docs/packages/lib.progressive-delivery.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}