@zhin.js/workroom 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/data-governance/canonical-value.d.ts +0 -1
- package/lib/data-governance/canonical-value.js.map +1 -1
- package/lib/data-governance/data-governance.d.ts +0 -1
- package/lib/data-governance/data-governance.js.map +1 -1
- package/lib/data-governance/database-payload-lifecycle-repository.d.ts +0 -1
- package/lib/data-governance/database-payload-lifecycle-repository.js.map +1 -1
- package/lib/data-governance/disclosure-authority.d.ts +0 -1
- package/lib/data-governance/disclosure-authority.js.map +1 -1
- package/lib/data-governance/disclosure-manifest.d.ts +0 -1
- package/lib/data-governance/disclosure-manifest.js.map +1 -1
- package/lib/data-governance/durable-file-store.d.ts +0 -1
- package/lib/data-governance/durable-file-store.js.map +1 -1
- package/lib/data-governance/encrypted-database-payload-vault.d.ts +0 -1
- package/lib/data-governance/encrypted-database-payload-vault.js.map +1 -1
- package/lib/data-governance/encrypted-file-payload-vault.d.ts +0 -1
- package/lib/data-governance/encrypted-file-payload-vault.js.map +1 -1
- package/lib/data-governance/file-payload-lifecycle-repository.d.ts +0 -1
- package/lib/data-governance/file-payload-lifecycle-repository.js.map +1 -1
- package/lib/data-governance/governance-authority-repository.d.ts +0 -1
- package/lib/data-governance/governance-authority-repository.js.map +1 -1
- package/lib/data-governance/governed-payload-write-saga.d.ts +0 -1
- package/lib/data-governance/governed-payload-write-saga.js.map +1 -1
- package/lib/data-governance/payload-hold-overdue-projection.d.ts +0 -1
- package/lib/data-governance/payload-hold-overdue-projection.js.map +1 -1
- package/lib/data-governance/payload-lifecycle.d.ts +0 -1
- package/lib/data-governance/payload-lifecycle.js.map +1 -1
- package/lib/data-governance/payload-vault-storage-handoff.d.ts +0 -1
- package/lib/data-governance/payload-vault-storage-handoff.js.map +1 -1
- package/lib/data-governance.d.ts +0 -1
- package/lib/data-governance.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js.map +1 -1
- package/lib/portfolio/capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/database-capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/database-capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/file-capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/file-capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/file-portfolio-journal.d.ts +0 -1
- package/lib/portfolio/file-portfolio-journal.js.map +1 -1
- package/lib/portfolio/portfolio-admission.d.ts +0 -1
- package/lib/portfolio/portfolio-admission.js.map +1 -1
- package/lib/portfolio/portfolio-journal.d.ts +0 -1
- package/lib/portfolio/portfolio-journal.js.map +1 -1
- package/lib/portfolio/resource-bundle.d.ts +0 -1
- package/lib/portfolio/resource-bundle.js.map +1 -1
- package/lib/portfolio/sponsor-projection.d.ts +0 -1
- package/lib/portfolio/sponsor-projection.js.map +1 -1
- package/lib/portfolio.d.ts +0 -1
- package/lib/portfolio.js.map +1 -1
- package/lib/remote.d.ts +0 -1
- package/lib/remote.js.map +1 -1
- package/lib/room/database-room-task-journal.d.ts +0 -1
- package/lib/room/database-room-task-journal.js.map +1 -1
- package/lib/room/index.d.ts +0 -1
- package/lib/room/index.js.map +1 -1
- package/lib/room/room-bus.d.ts +0 -1
- package/lib/room/room-bus.js.map +1 -1
- package/lib/room/room-definition.d.ts +0 -1
- package/lib/room/room-definition.js.map +1 -1
- package/lib/room/room-event-sequencer.d.ts +0 -1
- package/lib/room/room-event-sequencer.js.map +1 -1
- package/lib/room/room-guards.d.ts +0 -1
- package/lib/room/room-guards.js.map +1 -1
- package/lib/room/room-membership.d.ts +0 -1
- package/lib/room/room-membership.js.map +1 -1
- package/lib/room/room-registry.d.ts +0 -1
- package/lib/room/room-registry.js.map +1 -1
- package/lib/room/room-router.d.ts +0 -1
- package/lib/room/room-router.js.map +1 -1
- package/lib/room/room-send-limiter.d.ts +0 -1
- package/lib/room/room-send-limiter.js.map +1 -1
- package/lib/room/room-task-authorizer.d.ts +0 -1
- package/lib/room/room-task-authorizer.js.map +1 -1
- package/lib/room/room-task-journal.d.ts +0 -1
- package/lib/room/room-task-journal.js.map +1 -1
- package/lib/room/room-task-service.d.ts +0 -1
- package/lib/room/room-task-service.js.map +1 -1
- package/lib/room/room-task.d.ts +0 -1
- package/lib/room/room-task.js.map +1 -1
- package/lib/room/validate-room.d.ts +0 -1
- package/lib/room/validate-room.js.map +1 -1
- package/lib/scheduler.d.ts +0 -1
- package/lib/scheduler.js.map +1 -1
- package/lib/workroom/acceptance-control.d.ts +0 -1
- package/lib/workroom/acceptance-control.js.map +1 -1
- package/lib/workroom/acceptance-policy.d.ts +0 -1
- package/lib/workroom/acceptance-policy.js.map +1 -1
- package/lib/workroom/accepted-source-memory-application.d.ts +0 -1
- package/lib/workroom/accepted-source-memory-application.js.map +1 -1
- package/lib/workroom/accepted-source-projector.d.ts +0 -1
- package/lib/workroom/accepted-source-projector.js.map +1 -1
- package/lib/workroom/assignment-authority-grant-application.d.ts +0 -1
- package/lib/workroom/assignment-authority-grant-application.js.map +1 -1
- package/lib/workroom/assignment-authority-grant-repository.d.ts +0 -1
- package/lib/workroom/assignment-authority-grant-repository.js.map +1 -1
- package/lib/workroom/assignment-authority.d.ts +0 -1
- package/lib/workroom/assignment-authority.js.map +1 -1
- package/lib/workroom/assignment-executor.d.ts +0 -1
- package/lib/workroom/assignment-executor.js.map +1 -1
- package/lib/workroom/assignment-observation-ingress.d.ts +0 -1
- package/lib/workroom/assignment-observation-ingress.js.map +1 -1
- package/lib/workroom/canonical-value.d.ts +0 -1
- package/lib/workroom/canonical-value.js.map +1 -1
- package/lib/workroom/catalog-definition.d.ts +0 -1
- package/lib/workroom/catalog-definition.js.map +1 -1
- package/lib/workroom/catalog.d.ts +0 -1
- package/lib/workroom/catalog.js.map +1 -1
- package/lib/workroom/coding-assignment-executor.d.ts +0 -1
- package/lib/workroom/coding-assignment-executor.js.map +1 -1
- package/lib/workroom/coding-git-objects.d.ts +0 -1
- package/lib/workroom/coding-git-objects.js.map +1 -1
- package/lib/workroom/database-project-knowledge-journal.d.ts +0 -1
- package/lib/workroom/database-project-knowledge-journal.js.map +1 -1
- package/lib/workroom/durable-file-store.d.ts +0 -1
- package/lib/workroom/durable-file-store.js.map +1 -1
- package/lib/workroom/dynamic-workflow-planner.d.ts +0 -1
- package/lib/workroom/dynamic-workflow-planner.js.map +1 -1
- package/lib/workroom/effect-blocker-repository.d.ts +0 -1
- package/lib/workroom/effect-blocker-repository.js.map +1 -1
- package/lib/workroom/effect-ledger.d.ts +0 -1
- package/lib/workroom/effect-ledger.js.map +1 -1
- package/lib/workroom/file-accepted-source-memory-repository.d.ts +0 -1
- package/lib/workroom/file-accepted-source-memory-repository.js.map +1 -1
- package/lib/workroom/file-coding-execution-store.d.ts +0 -1
- package/lib/workroom/file-coding-execution-store.js.map +1 -1
- package/lib/workroom/file-effect-ledger.d.ts +0 -1
- package/lib/workroom/file-effect-ledger.js.map +1 -1
- package/lib/workroom/file-human-ingress-application.d.ts +0 -1
- package/lib/workroom/file-human-ingress-application.js.map +1 -1
- package/lib/workroom/file-human-ingress.d.ts +0 -1
- package/lib/workroom/file-human-ingress.js.map +1 -1
- package/lib/workroom/file-interaction-space-binding-repository.d.ts +0 -1
- package/lib/workroom/file-interaction-space-binding-repository.js.map +1 -1
- package/lib/workroom/file-profile-journal.d.ts +0 -1
- package/lib/workroom/file-profile-journal.js.map +1 -1
- package/lib/workroom/git-workspace-gateway.d.ts +0 -1
- package/lib/workroom/git-workspace-gateway.js.map +1 -1
- package/lib/workroom/github-workspace-transport.d.ts +0 -1
- package/lib/workroom/github-workspace-transport.js.map +1 -1
- package/lib/workroom/governed-dispatch-reasons.d.ts +0 -1
- package/lib/workroom/governed-dispatch-reasons.js.map +1 -1
- package/lib/workroom/human-ingress-application.d.ts +0 -1
- package/lib/workroom/human-ingress-application.js.map +1 -1
- package/lib/workroom/human-ingress-orchestrator.d.ts +0 -1
- package/lib/workroom/human-ingress-orchestrator.js.map +1 -1
- package/lib/workroom/human-ingress-source-reader.d.ts +0 -1
- package/lib/workroom/human-ingress-source-reader.js.map +1 -1
- package/lib/workroom/human-ingress.d.ts +0 -1
- package/lib/workroom/human-ingress.js.map +1 -1
- package/lib/workroom/interaction-space-binding-service.d.ts +0 -1
- package/lib/workroom/interaction-space-binding-service.js.map +1 -1
- package/lib/workroom/interaction-space-router.d.ts +0 -1
- package/lib/workroom/interaction-space-router.js.map +1 -1
- package/lib/workroom/journal/activatable-journal.d.ts +0 -1
- package/lib/workroom/journal/activatable-journal.js.map +1 -1
- package/lib/workroom/journal/contracts.d.ts +0 -1
- package/lib/workroom/journal/contracts.js.map +1 -1
- package/lib/workroom/journal/database-journal.d.ts +0 -1
- package/lib/workroom/journal/database-journal.js.map +1 -1
- package/lib/workroom/journal/event-codec.d.ts +0 -1
- package/lib/workroom/journal/event-codec.js.map +1 -1
- package/lib/workroom/journal/event-validation.d.ts +0 -1
- package/lib/workroom/journal/event-validation.js.map +1 -1
- package/lib/workroom/journal/file-journal.d.ts +0 -1
- package/lib/workroom/journal/file-journal.js.map +1 -1
- package/lib/workroom/journal/index.d.ts +0 -1
- package/lib/workroom/journal/index.js.map +1 -1
- package/lib/workroom/journal/legacy-payload-guard.d.ts +0 -1
- package/lib/workroom/journal/legacy-payload-guard.js.map +1 -1
- package/lib/workroom/journal/memory-journal.d.ts +0 -1
- package/lib/workroom/journal/memory-journal.js.map +1 -1
- package/lib/workroom/journal/payload-governance.d.ts +0 -1
- package/lib/workroom/journal/payload-governance.js.map +1 -1
- package/lib/workroom/journal/payload-reference.d.ts +0 -1
- package/lib/workroom/journal/payload-reference.js.map +1 -1
- package/lib/workroom/journal/stored-event-projection.d.ts +0 -1
- package/lib/workroom/journal/stored-event-projection.js.map +1 -1
- package/lib/workroom/journal-model.d.ts +0 -1
- package/lib/workroom/journal-model.js.map +1 -1
- package/lib/workroom/kernel-contracts.d.ts +0 -1
- package/lib/workroom/kernel-contracts.js.map +1 -1
- package/lib/workroom/kernel-state.d.ts +0 -1
- package/lib/workroom/kernel-state.js.map +1 -1
- package/lib/workroom/local-assignment-issuance.d.ts +0 -1
- package/lib/workroom/local-assignment-issuance.js.map +1 -1
- package/lib/workroom/plan-approval-control.d.ts +0 -1
- package/lib/workroom/plan-approval-control.js.map +1 -1
- package/lib/workroom/plan-revision.d.ts +0 -1
- package/lib/workroom/plan-revision.js.map +1 -1
- package/lib/workroom/profile-compiler.d.ts +0 -1
- package/lib/workroom/profile-compiler.js.map +1 -1
- package/lib/workroom/profile-registry.d.ts +0 -1
- package/lib/workroom/profile-registry.js.map +1 -1
- package/lib/workroom/project-knowledge-registry.d.ts +0 -1
- package/lib/workroom/project-knowledge-registry.js.map +1 -1
- package/lib/workroom/projection-outbox/contracts.d.ts +0 -1
- package/lib/workroom/projection-outbox/contracts.js.map +1 -1
- package/lib/workroom/projection-outbox/delivery-worker.d.ts +0 -1
- package/lib/workroom/projection-outbox/delivery-worker.js.map +1 -1
- package/lib/workroom/projection-outbox/file-repository.d.ts +0 -1
- package/lib/workroom/projection-outbox/file-repository.js.map +1 -1
- package/lib/workroom/projection-outbox/index.d.ts +0 -1
- package/lib/workroom/projection-outbox/index.js.map +1 -1
- package/lib/workroom/projection-outbox/memory-repository.d.ts +0 -1
- package/lib/workroom/projection-outbox/memory-repository.js.map +1 -1
- package/lib/workroom/projection-outbox/projector.d.ts +0 -1
- package/lib/workroom/projection-outbox/projector.js.map +1 -1
- package/lib/workroom/projection-outbox/repository-state.d.ts +0 -1
- package/lib/workroom/projection-outbox/repository-state.js.map +1 -1
- package/lib/workroom/projection-outbox/tracer.d.ts +0 -1
- package/lib/workroom/projection-outbox/tracer.js.map +1 -1
- package/lib/workroom/remote-assignment-dispatch-command.d.ts +0 -1
- package/lib/workroom/remote-assignment-dispatch-command.js.map +1 -1
- package/lib/workroom/remote-assignment-issuance.d.ts +0 -1
- package/lib/workroom/remote-assignment-issuance.js.map +1 -1
- package/lib/workroom/remote-callback-application.d.ts +0 -1
- package/lib/workroom/remote-callback-application.js.map +1 -1
- package/lib/workroom/remote-callback-gateway.d.ts +0 -1
- package/lib/workroom/remote-callback-gateway.js.map +1 -1
- package/lib/workroom/remote-callback-inbox.d.ts +0 -1
- package/lib/workroom/remote-callback-inbox.js.map +1 -1
- package/lib/workroom/remote-callback-reconciliation-worker.d.ts +0 -1
- package/lib/workroom/remote-callback-reconciliation-worker.js.map +1 -1
- package/lib/workroom/remote-dispatch-admission.d.ts +0 -1
- package/lib/workroom/remote-dispatch-admission.js.map +1 -1
- package/lib/workroom/remote-dispatch-outbox.d.ts +0 -1
- package/lib/workroom/remote-dispatch-outbox.js.map +1 -1
- package/lib/workroom/remote-dispatch-scheduler.d.ts +0 -1
- package/lib/workroom/remote-dispatch-scheduler.js.map +1 -1
- package/lib/workroom/remote-dispatch-worker.d.ts +0 -1
- package/lib/workroom/remote-dispatch-worker.js.map +1 -1
- package/lib/workroom/remote-dispatch.d.ts +0 -1
- package/lib/workroom/remote-dispatch.js.map +1 -1
- package/lib/workroom/remote-executor.d.ts +0 -1
- package/lib/workroom/remote-executor.js.map +1 -1
- package/lib/workroom/role-capability-snapshot.d.ts +0 -1
- package/lib/workroom/role-capability-snapshot.js.map +1 -1
- package/lib/workroom/runtime.d.ts +0 -1
- package/lib/workroom/runtime.js.map +1 -1
- package/lib/workroom/scheduler-priority-control.d.ts +0 -1
- package/lib/workroom/scheduler-priority-control.js.map +1 -1
- package/lib/workroom/software-delivery-plan.d.ts +0 -1
- package/lib/workroom/software-delivery-plan.js.map +1 -1
- package/lib/workroom/validate-catalog.d.ts +0 -1
- package/lib/workroom/validate-catalog.js.map +1 -1
- package/lib/workroom/workflow-plan-builder.d.ts +0 -1
- package/lib/workroom/workflow-plan-builder.js.map +1 -1
- package/lib/workroom/workroom-assignment-knowledge-context.d.ts +0 -1
- package/lib/workroom/workroom-assignment-knowledge-context.js.map +1 -1
- package/lib/workroom/workroom-kernel.d.ts +0 -1
- package/lib/workroom/workroom-kernel.js.map +1 -1
- package/lib/workroom/workroom-preemption.d.ts +0 -1
- package/lib/workroom/workroom-preemption.js.map +1 -1
- package/lib/workroom/workroom-run-control.d.ts +0 -1
- package/lib/workroom/workroom-run-control.js.map +1 -1
- package/lib/workroom/workroom-scheduler-application.d.ts +0 -1
- package/lib/workroom/workroom-scheduler-application.js.map +1 -1
- package/lib/workroom/workroom-scheduler.d.ts +0 -1
- package/lib/workroom/workroom-scheduler.js.map +1 -1
- package/lib/workroom/workroom-task-report-store.d.ts +0 -1
- package/lib/workroom/workroom-task-report-store.js.map +1 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts +0 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.js.map +1 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.d.ts +0 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.js.map +1 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.d.ts +0 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.js.map +1 -1
- package/lib/workroom-runtime/github-workroom-capability.d.ts +0 -1
- package/lib/workroom-runtime/github-workroom-capability.js.map +1 -1
- package/lib/workroom-runtime/self-delivery-project-composition.d.ts +0 -1
- package/lib/workroom-runtime/self-delivery-project-composition.js.map +1 -1
- package/lib/workroom-runtime/self-delivery-project.d.ts +0 -1
- package/lib/workroom-runtime/self-delivery-project.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-bot-identity.d.ts +0 -1
- package/lib/workroom-runtime/workroom-bot-identity.js.map +1 -1
- package/lib/workroom-runtime/workroom-capability-realization.d.ts +0 -1
- package/lib/workroom-runtime/workroom-capability-realization.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.js.map +1 -1
- package/lib/workroom-runtime/workroom-database-models.d.ts +0 -1
- package/lib/workroom-runtime/workroom-database-models.js.map +1 -1
- package/lib/workroom-runtime/workroom-database-storage.d.ts +0 -1
- package/lib/workroom-runtime/workroom-database-storage.js.map +1 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.d.ts +0 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.js.map +1 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.d.ts +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-production.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-production.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-host-port.d.ts +0 -1
- package/lib/workroom-runtime/workroom-host-port.js.map +1 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.js.map +1 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts +0 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.js.map +1 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts +0 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.js.map +1 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.js.map +1 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-priority-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-priority-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-projection-outbound.d.ts +0 -1
- package/lib/workroom-runtime/workroom-projection-outbound.js.map +1 -1
- package/lib/workroom-runtime/workroom-projection-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-projection-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-executor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-executor.js.map +1 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.js.map +1 -1
- package/package.json +7 -7
- package/lib/data-governance/canonical-value.d.ts.map +0 -1
- package/lib/data-governance/data-governance.d.ts.map +0 -1
- package/lib/data-governance/database-payload-lifecycle-repository.d.ts.map +0 -1
- package/lib/data-governance/disclosure-authority.d.ts.map +0 -1
- package/lib/data-governance/disclosure-manifest.d.ts.map +0 -1
- package/lib/data-governance/durable-file-store.d.ts.map +0 -1
- package/lib/data-governance/encrypted-database-payload-vault.d.ts.map +0 -1
- package/lib/data-governance/encrypted-file-payload-vault.d.ts.map +0 -1
- package/lib/data-governance/file-payload-lifecycle-repository.d.ts.map +0 -1
- package/lib/data-governance/governance-authority-repository.d.ts.map +0 -1
- package/lib/data-governance/governed-payload-write-saga.d.ts.map +0 -1
- package/lib/data-governance/payload-hold-overdue-projection.d.ts.map +0 -1
- package/lib/data-governance/payload-lifecycle.d.ts.map +0 -1
- package/lib/data-governance/payload-vault-storage-handoff.d.ts.map +0 -1
- package/lib/data-governance.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/portfolio/capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/database-capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/file-capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/file-portfolio-journal.d.ts.map +0 -1
- package/lib/portfolio/portfolio-admission.d.ts.map +0 -1
- package/lib/portfolio/portfolio-journal.d.ts.map +0 -1
- package/lib/portfolio/resource-bundle.d.ts.map +0 -1
- package/lib/portfolio/sponsor-projection.d.ts.map +0 -1
- package/lib/portfolio.d.ts.map +0 -1
- package/lib/remote.d.ts.map +0 -1
- package/lib/room/database-room-task-journal.d.ts.map +0 -1
- package/lib/room/index.d.ts.map +0 -1
- package/lib/room/room-bus.d.ts.map +0 -1
- package/lib/room/room-definition.d.ts.map +0 -1
- package/lib/room/room-event-sequencer.d.ts.map +0 -1
- package/lib/room/room-guards.d.ts.map +0 -1
- package/lib/room/room-membership.d.ts.map +0 -1
- package/lib/room/room-registry.d.ts.map +0 -1
- package/lib/room/room-router.d.ts.map +0 -1
- package/lib/room/room-send-limiter.d.ts.map +0 -1
- package/lib/room/room-task-authorizer.d.ts.map +0 -1
- package/lib/room/room-task-journal.d.ts.map +0 -1
- package/lib/room/room-task-service.d.ts.map +0 -1
- package/lib/room/room-task.d.ts.map +0 -1
- package/lib/room/validate-room.d.ts.map +0 -1
- package/lib/scheduler.d.ts.map +0 -1
- package/lib/workroom/acceptance-control.d.ts.map +0 -1
- package/lib/workroom/acceptance-policy.d.ts.map +0 -1
- package/lib/workroom/accepted-source-memory-application.d.ts.map +0 -1
- package/lib/workroom/accepted-source-projector.d.ts.map +0 -1
- package/lib/workroom/assignment-authority-grant-application.d.ts.map +0 -1
- package/lib/workroom/assignment-authority-grant-repository.d.ts.map +0 -1
- package/lib/workroom/assignment-authority.d.ts.map +0 -1
- package/lib/workroom/assignment-executor.d.ts.map +0 -1
- package/lib/workroom/assignment-observation-ingress.d.ts.map +0 -1
- package/lib/workroom/canonical-value.d.ts.map +0 -1
- package/lib/workroom/catalog-definition.d.ts.map +0 -1
- package/lib/workroom/catalog.d.ts.map +0 -1
- package/lib/workroom/coding-assignment-executor.d.ts.map +0 -1
- package/lib/workroom/coding-git-objects.d.ts.map +0 -1
- package/lib/workroom/database-project-knowledge-journal.d.ts.map +0 -1
- package/lib/workroom/durable-file-store.d.ts.map +0 -1
- package/lib/workroom/dynamic-workflow-planner.d.ts.map +0 -1
- package/lib/workroom/effect-blocker-repository.d.ts.map +0 -1
- package/lib/workroom/effect-ledger.d.ts.map +0 -1
- package/lib/workroom/file-accepted-source-memory-repository.d.ts.map +0 -1
- package/lib/workroom/file-coding-execution-store.d.ts.map +0 -1
- package/lib/workroom/file-effect-ledger.d.ts.map +0 -1
- package/lib/workroom/file-human-ingress-application.d.ts.map +0 -1
- package/lib/workroom/file-human-ingress.d.ts.map +0 -1
- package/lib/workroom/file-interaction-space-binding-repository.d.ts.map +0 -1
- package/lib/workroom/file-profile-journal.d.ts.map +0 -1
- package/lib/workroom/git-workspace-gateway.d.ts.map +0 -1
- package/lib/workroom/github-workspace-transport.d.ts.map +0 -1
- package/lib/workroom/governed-dispatch-reasons.d.ts.map +0 -1
- package/lib/workroom/human-ingress-application.d.ts.map +0 -1
- package/lib/workroom/human-ingress-orchestrator.d.ts.map +0 -1
- package/lib/workroom/human-ingress-source-reader.d.ts.map +0 -1
- package/lib/workroom/human-ingress.d.ts.map +0 -1
- package/lib/workroom/interaction-space-binding-service.d.ts.map +0 -1
- package/lib/workroom/interaction-space-router.d.ts.map +0 -1
- package/lib/workroom/journal/activatable-journal.d.ts.map +0 -1
- package/lib/workroom/journal/contracts.d.ts.map +0 -1
- package/lib/workroom/journal/database-journal.d.ts.map +0 -1
- package/lib/workroom/journal/event-codec.d.ts.map +0 -1
- package/lib/workroom/journal/event-validation.d.ts.map +0 -1
- package/lib/workroom/journal/file-journal.d.ts.map +0 -1
- package/lib/workroom/journal/index.d.ts.map +0 -1
- package/lib/workroom/journal/legacy-payload-guard.d.ts.map +0 -1
- package/lib/workroom/journal/memory-journal.d.ts.map +0 -1
- package/lib/workroom/journal/payload-governance.d.ts.map +0 -1
- package/lib/workroom/journal/payload-reference.d.ts.map +0 -1
- package/lib/workroom/journal/stored-event-projection.d.ts.map +0 -1
- package/lib/workroom/journal-model.d.ts.map +0 -1
- package/lib/workroom/kernel-contracts.d.ts.map +0 -1
- package/lib/workroom/kernel-state.d.ts.map +0 -1
- package/lib/workroom/local-assignment-issuance.d.ts.map +0 -1
- package/lib/workroom/plan-approval-control.d.ts.map +0 -1
- package/lib/workroom/plan-revision.d.ts.map +0 -1
- package/lib/workroom/profile-compiler.d.ts.map +0 -1
- package/lib/workroom/profile-registry.d.ts.map +0 -1
- package/lib/workroom/project-knowledge-registry.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/contracts.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/delivery-worker.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/file-repository.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/index.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/memory-repository.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/projector.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/repository-state.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/tracer.d.ts.map +0 -1
- package/lib/workroom/remote-assignment-dispatch-command.d.ts.map +0 -1
- package/lib/workroom/remote-assignment-issuance.d.ts.map +0 -1
- package/lib/workroom/remote-callback-application.d.ts.map +0 -1
- package/lib/workroom/remote-callback-gateway.d.ts.map +0 -1
- package/lib/workroom/remote-callback-inbox.d.ts.map +0 -1
- package/lib/workroom/remote-callback-reconciliation-worker.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-admission.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-outbox.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-scheduler.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-worker.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch.d.ts.map +0 -1
- package/lib/workroom/remote-executor.d.ts.map +0 -1
- package/lib/workroom/role-capability-snapshot.d.ts.map +0 -1
- package/lib/workroom/runtime.d.ts.map +0 -1
- package/lib/workroom/scheduler-priority-control.d.ts.map +0 -1
- package/lib/workroom/software-delivery-plan.d.ts.map +0 -1
- package/lib/workroom/validate-catalog.d.ts.map +0 -1
- package/lib/workroom/workflow-plan-builder.d.ts.map +0 -1
- package/lib/workroom/workroom-assignment-knowledge-context.d.ts.map +0 -1
- package/lib/workroom/workroom-kernel.d.ts.map +0 -1
- package/lib/workroom/workroom-preemption.d.ts.map +0 -1
- package/lib/workroom/workroom-run-control.d.ts.map +0 -1
- package/lib/workroom/workroom-scheduler-application.d.ts.map +0 -1
- package/lib/workroom/workroom-scheduler.d.ts.map +0 -1
- package/lib/workroom/workroom-task-report-store.d.ts.map +0 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts.map +0 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.d.ts.map +0 -1
- package/lib/workroom-runtime/github-workroom-capability.d.ts.map +0 -1
- package/lib/workroom-runtime/self-delivery-project-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/self-delivery-project.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-bot-identity.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-capability-realization.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-database-models.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-database-storage.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-production.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-host-port.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-priority-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-projection-outbound.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-projection-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-executor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governed-payload-write-saga.js","sourceRoot":"","sources":["../../src/data-governance/governed-payload-write-saga.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"governed-payload-write-saga.js","sourceRoot":"","sources":["../../src/data-governance/governed-payload-write-saga.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFile, readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { PayloadVaultObjectHandle } from './disclosure-manifest.js';\nimport {\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\nimport { DurableFileStore } from './durable-file-store.js';\n\nexport type GovernedPayloadWriteConsumer =\n | 'authority_source'\n | 'evidence_header'\n | 'task_report_header'\n | 'journal_header';\nexport type GovernedPayloadWriteState =\n | 'intent'\n | 'vault_written'\n | 'authority_indexed'\n | 'published'\n | 'purge_required';\n\nexport interface GovernedPayloadWriteIntentInput {\n readonly operationId: string;\n readonly projectId: string;\n readonly objectId: string;\n readonly payloadHash: string;\n readonly descriptorDigest: string;\n readonly sourceBindingDigest: string;\n readonly consumer: GovernedPayloadWriteConsumer;\n readonly publicationScope?: string;\n}\n\nexport interface GovernedPayloadWriteSagaSnapshot extends GovernedPayloadWriteIntentInput {\n readonly version: 1;\n readonly intentId: string;\n readonly sequence: number;\n readonly state: GovernedPayloadWriteState;\n readonly handle?: PayloadVaultObjectHandle;\n readonly authorityIndexDigest?: string;\n readonly publicationDigest?: string;\n readonly purgeReason?: 'write_failed' | 'cas_lost' | 'restart_unpublished';\n readonly purge?: GovernedPayloadWritePurgeState;\n readonly digest: string;\n}\n\nexport interface GovernedPayloadWritePurgeState {\n readonly generation: number;\n readonly attempt: number;\n readonly fence: number;\n readonly candidateDigest: string;\n readonly requestDigest: string;\n readonly status: 'pending' | 'outcome_unknown' | 'failed' | 'confirmed';\n readonly receipt?: GovernedPayloadWritePurgeReceipt;\n}\n\nexport interface GovernedPayloadWritePurgeRequest {\n readonly version: 1;\n readonly generation: number;\n readonly intentId: string;\n readonly projectId: string;\n readonly objectId: string;\n readonly payloadHash: string;\n readonly descriptorDigest: string;\n readonly handle?: PayloadVaultObjectHandle;\n readonly reason: NonNullable<GovernedPayloadWriteSagaSnapshot['purgeReason']>;\n readonly attempt: number;\n readonly fence: number;\n readonly candidateDigest: string;\n readonly digest: string;\n}\n\nexport interface GovernedPayloadWritePurgeReceipt {\n readonly version: 1;\n readonly requestDigest: string;\n readonly providerId: string;\n readonly status: 'confirmed' | 'failed' | 'outcome_unknown';\n readonly observedAt: number;\n readonly digest: string;\n}\n\n/** Root-private external deletion/crypto-erasure authority. */\nexport interface GovernedPayloadWritePurgePort {\n purge(\n request: GovernedPayloadWritePurgeRequest,\n signal: AbortSignal,\n ): Promise<GovernedPayloadWritePurgeReceipt>;\n reconcile(\n request: GovernedPayloadWritePurgeRequest,\n previous: GovernedPayloadWritePurgeReceipt | undefined,\n signal: AbortSignal,\n ): Promise<GovernedPayloadWritePurgeReceipt>;\n}\n\nexport type GovernedPayloadPublicationVerification =\n | Readonly<{ status: 'exact'; publicationDigest: string }>\n | Readonly<{ status: 'missing' }>\n | Readonly<{ status: 'unknown' }>;\n\n/** Generation-owned content-free header authority. It must never read payload bodies. */\nexport interface GovernedPayloadPublicationVerifierPort {\n verify(\n intent: GovernedPayloadWriteSagaSnapshot,\n signal: AbortSignal,\n ): Promise<GovernedPayloadPublicationVerification>;\n}\n\ninterface GovernedPayloadWriteSagaEvent {\n readonly version: 1;\n readonly intentId: string;\n readonly sequence: number;\n readonly type: 'intent.created' | 'vault.written' | 'authority.indexed'\n | 'header.published' | 'purge.required' | 'purge.attempted' | 'purge.receipt';\n readonly payload: Readonly<Record<string, unknown>>;\n readonly digest: string;\n}\n\n/** Immutable, content-free intent index. It never stores payload bytes or key material. */\nexport class FileGovernedPayloadWriteSagaRepository {\n readonly #store: DurableFileStore;\n #ready?: Promise<void>;\n\n constructor(directory: string) {\n this.#store = new DurableFileStore(directory);\n }\n\n /** Proves the content-free journal is durably writable before payload bytes enter the Vault. */\n async assertReady(): Promise<void> {\n await this.#ensureReady();\n }\n\n async begin(input: GovernedPayloadWriteIntentInput): Promise<GovernedPayloadWriteSagaSnapshot> {\n const canonical = exactIntent(input);\n const intentId = createGovernedPayloadWriteIntentId(canonical);\n const current = await this.read(intentId);\n if (current) {\n if (digest(pickIntent(current)) !== digest(canonical)) {\n throw new Error('Governed Payload write intent identity conflict');\n }\n return current;\n }\n return await this.#append(intentId, -1, 'intent.created', canonical);\n }\n\n async recordVault(\n intentId: string,\n handle: PayloadVaultObjectHandle,\n ): Promise<GovernedPayloadWriteSagaSnapshot> {\n return await this.#transition(intentId, 'intent', 'vault.written', { handle });\n }\n\n async recordAuthorityIndex(\n intentId: string,\n authorityIndexDigest: string,\n ): Promise<GovernedPayloadWriteSagaSnapshot> {\n requiredDigest(authorityIndexDigest, 'authorityIndexDigest');\n return await this.#transition(intentId, 'vault_written', 'authority.indexed', {\n authorityIndexDigest,\n });\n }\n\n async publish(\n intentId: string,\n publicationDigest: string,\n ): Promise<GovernedPayloadWriteSagaSnapshot> {\n requiredDigest(publicationDigest, 'publicationDigest');\n return await this.#transition(intentId, 'authority_indexed', 'header.published', {\n publicationDigest,\n });\n }\n\n async requirePurge(\n intentId: string,\n purgeReason: GovernedPayloadWriteSagaSnapshot['purgeReason'],\n ): Promise<GovernedPayloadWriteSagaSnapshot> {\n const current = await this.#require(intentId);\n if (current.state === 'published') {\n throw new Error('Published Governed Payload write cannot enter purge-required');\n }\n if (current.state === 'purge_required') return current;\n return await this.#append(intentId, current.sequence, 'purge.required', { purgeReason });\n }\n\n async recordPurgeAttempt(\n intentId: string,\n request: GovernedPayloadWritePurgeRequest,\n ): Promise<GovernedPayloadWriteSagaSnapshot> {\n const current = await this.#require(intentId);\n if (current.state !== 'purge_required' || current.purge?.status === 'confirmed') {\n throw new Error('Governed Payload purge attempt is not allowed');\n }\n if (current.purge?.status === 'pending' || current.purge?.status === 'outcome_unknown') {\n if (current.purge.requestDigest !== request.digest) {\n throw new Error('Governed Payload purge attempt replay drift');\n }\n return current;\n }\n assertPurgeRequest(request, current);\n return await this.#append(intentId, current.sequence, 'purge.attempted', {\n generation: request.generation,\n attempt: request.attempt,\n fence: request.fence,\n candidateDigest: request.candidateDigest,\n requestDigest: request.digest,\n });\n }\n\n async recordPurgeReceipt(\n intentId: string,\n receipt: GovernedPayloadWritePurgeReceipt,\n ): Promise<GovernedPayloadWriteSagaSnapshot> {\n const current = await this.#require(intentId);\n if (current.state !== 'purge_required' || !current.purge\n || current.purge.status === 'confirmed') {\n throw new Error('Governed Payload purge receipt is not expected');\n }\n const canonical = assertPurgeReceipt(receipt, current.purge.requestDigest);\n return await this.#append(intentId, current.sequence, 'purge.receipt', { receipt: canonical });\n }\n\n async read(intentId: string): Promise<GovernedPayloadWriteSagaSnapshot | undefined> {\n await this.#ensureReady();\n const prefix = `${fileId(intentId)}.`;\n const names = (await readdir(this.#store.directory))\n .filter(name => name.startsWith(prefix) && name.endsWith('.json'))\n .sort();\n if (names.length === 0) return undefined;\n const events = await Promise.all(names.map(async (name, index) => {\n const match = /^[a-f\\d]{64}\\.(\\d{12})\\.json$/u.exec(name);\n if (!match || Number(match[1]) !== index) throw new Error('Governed Payload write saga sequence drift');\n return parseEvent(JSON.parse(await readFile(join(this.#store.directory, name), 'utf8')));\n }));\n return replay(events);\n }\n\n async listUnpublished(\n projectId: string,\n publicationScope?: string,\n ): Promise<readonly GovernedPayloadWriteSagaSnapshot[]> {\n await this.#ensureReady();\n const names = (await readdir(this.#store.directory)).filter(name => name.endsWith('.000000000000.json'));\n const snapshots = await Promise.all(names.map(async name => {\n const first = parseEvent(JSON.parse(await readFile(join(this.#store.directory, name), 'utf8')));\n return await this.#require(first.intentId);\n }));\n return deepFreeze(snapshots.filter(snapshot => snapshot.projectId === projectId\n && snapshot.state !== 'published'\n && snapshot.state !== 'purge_required'\n && (publicationScope === undefined || snapshot.publicationScope === publicationScope)));\n }\n\n async listAuthorityIndexed(\n projectId: string,\n ): Promise<readonly GovernedPayloadWriteSagaSnapshot[]> {\n return deepFreeze((await this.listUnpublished(projectId))\n .filter(snapshot => snapshot.state === 'authority_indexed'));\n }\n\n async listPurgeRequired(projectId: string): Promise<readonly GovernedPayloadWriteSagaSnapshot[]> {\n required(projectId, 'projectId');\n await this.#ensureReady();\n const names = (await readdir(this.#store.directory)).filter(name => name.endsWith('.000000000000.json'));\n const snapshots = await Promise.all(names.map(async name => {\n const first = parseEvent(JSON.parse(await readFile(join(this.#store.directory, name), 'utf8')));\n return await this.#require(first.intentId);\n }));\n return deepFreeze(snapshots.filter(snapshot => snapshot.projectId === projectId\n && snapshot.state === 'purge_required'\n && snapshot.purge?.status !== 'confirmed'));\n }\n\n async #transition(\n intentId: string,\n expected: GovernedPayloadWriteState,\n type: GovernedPayloadWriteSagaEvent['type'],\n payload: Readonly<Record<string, unknown>>,\n ): Promise<GovernedPayloadWriteSagaSnapshot> {\n const current = await this.#require(intentId);\n if (current.state !== expected) {\n const replayed = replayTransition(current, type, payload);\n if (replayed) return current;\n throw new Error(`Governed Payload write saga transition conflict: ${current.state}`);\n }\n return await this.#append(intentId, current.sequence, type, payload);\n }\n\n async #append(\n intentId: string,\n expectedSequence: number,\n type: GovernedPayloadWriteSagaEvent['type'],\n payload: object,\n ): Promise<GovernedPayloadWriteSagaSnapshot> {\n await this.#ensureReady();\n const sequence = expectedSequence + 1;\n const body = deepFreeze({ version: 1 as const, intentId, sequence, type, payload: structuredClone(payload) });\n const event = deepFreeze({ ...body, digest: digest(body) });\n const target = join(this.#store.directory, `${fileId(intentId)}.${String(sequence).padStart(12, '0')}.json`);\n await this.#store.publishCreateOnly({\n target,\n content: canonicalWorkroomJson(event),\n createdValue: event,\n onConflict: async () => {\n const winner = parseEvent(JSON.parse(await readFile(target, 'utf8')));\n if (winner.digest !== event.digest) throw new Error('Governed Payload write saga CAS conflict');\n return winner;\n },\n });\n return await this.#require(intentId);\n }\n\n async #require(intentId: string): Promise<GovernedPayloadWriteSagaSnapshot> {\n const value = await this.read(intentId);\n if (!value) throw new Error('Governed Payload write intent is unavailable');\n return value;\n }\n\n async #ensureReady(): Promise<void> {\n this.#ready ??= this.#store.ensureDurableLeaf('Governed Payload write saga');\n await this.#ready;\n }\n}\n\n/** Generation-owned worker; confirmed receipts are terminal and never dispatched twice. */\nexport class GovernedPayloadWritePurgeConsumer {\n constructor(readonly options: Readonly<{\n generation: number;\n repository: FileGovernedPayloadWriteSagaRepository;\n provider: GovernedPayloadWritePurgePort;\n }>) {\n if (!Number.isSafeInteger(options.generation) || options.generation < 1) {\n throw new Error('Governed Payload purge generation is invalid');\n }\n }\n\n async processIntent(intentId: string, signal: AbortSignal): Promise<GovernedPayloadWriteSagaSnapshot> {\n signal.throwIfAborted();\n let current = await this.options.repository.read(intentId);\n if (!current || current.state !== 'purge_required' || current.purge?.status === 'confirmed') {\n if (!current) throw new Error('Governed Payload purge intent is unavailable');\n return current;\n }\n let request: GovernedPayloadWritePurgeRequest;\n let reconcile = false;\n if (current.purge?.status === 'pending' || current.purge?.status === 'outcome_unknown') {\n request = purgeRequestFromState(current);\n reconcile = true;\n } else {\n request = createPurgeRequest(current, this.options.generation);\n current = await this.options.repository.recordPurgeAttempt(intentId, request);\n }\n try {\n const receipt = reconcile\n ? await this.options.provider.reconcile(request, current.purge?.receipt, signal)\n : await this.options.provider.purge(request, signal);\n return await this.options.repository.recordPurgeReceipt(intentId, receipt);\n } catch (error) {\n if (signal.aborted) throw signal.reason ?? error;\n // The durable attempt remains pending. Restart must reconcile this exact\n // attempt/fence and must never issue a second destructive call blindly.\n return (await this.options.repository.read(intentId))!;\n }\n }\n\n async drainProject(\n projectId: string,\n signal: AbortSignal,\n ): Promise<readonly GovernedPayloadWriteSagaSnapshot[]> {\n const results: GovernedPayloadWriteSagaSnapshot[] = [];\n for (const pending of await this.options.repository.listPurgeRequired(projectId)) {\n results.push(await this.processIntent(pending.intentId, signal));\n }\n return deepFreeze(results);\n }\n}\n\n/**\n * Generation handoff worker for the lost-response window after header CAS.\n * Missing verifiers are deliberately non-destructive: the durable intent stays visible.\n */\nexport class GovernedPayloadPublicationReconciler {\n constructor(readonly options: Readonly<{\n repository: FileGovernedPayloadWriteSagaRepository;\n verifier?: GovernedPayloadPublicationVerifierPort;\n purge: GovernedPayloadWritePurgeConsumer;\n }>) {}\n\n async drainProject(\n projectId: string,\n signal: AbortSignal,\n ): Promise<readonly GovernedPayloadWriteSagaSnapshot[]> {\n const results: GovernedPayloadWriteSagaSnapshot[] = [];\n for (const pending of await this.options.repository.listAuthorityIndexed(projectId)) {\n signal.throwIfAborted();\n if (!this.options.verifier) {\n results.push(pending);\n continue;\n }\n let verification: GovernedPayloadPublicationVerification;\n try {\n verification = await this.options.verifier.verify(pending, signal);\n } catch (error) {\n if (signal.aborted) throw signal.reason ?? error;\n results.push(pending);\n continue;\n }\n if (verification.status === 'unknown') {\n results.push(pending);\n continue;\n }\n if (verification.status === 'exact') {\n requiredDigest(verification.publicationDigest, 'publicationDigest');\n results.push(await this.options.repository.publish(\n pending.intentId,\n verification.publicationDigest,\n ));\n continue;\n }\n await this.options.repository.requirePurge(pending.intentId, 'restart_unpublished');\n results.push(await this.options.purge.processIntent(pending.intentId, signal));\n }\n return deepFreeze(results);\n }\n}\n\nexport function createGovernedPayloadWriteIntentId(input: GovernedPayloadWriteIntentInput): string {\n const canonical = exactIntent(input);\n return `governed-payload-write:${digest({\n projectId: canonical.projectId,\n objectId: canonical.objectId,\n payloadHash: canonical.payloadHash,\n descriptorDigest: canonical.descriptorDigest,\n sourceBindingDigest: canonical.sourceBindingDigest,\n consumer: canonical.consumer,\n publicationScope: canonical.publicationScope,\n }).slice('sha256:'.length)}`;\n}\n\nfunction replay(events: readonly GovernedPayloadWriteSagaEvent[]): GovernedPayloadWriteSagaSnapshot {\n const first = events[0];\n if (!first || first.type !== 'intent.created' || first.sequence !== 0) {\n throw new Error('Governed Payload write saga has no intent');\n }\n const intent = exactIntent(first.payload);\n if (createGovernedPayloadWriteIntentId(intent) !== first.intentId) throw new Error('Governed Payload write intent digest drift');\n let state: GovernedPayloadWriteState = 'intent';\n let extension: Pick<GovernedPayloadWriteSagaSnapshot, 'handle' | 'authorityIndexDigest'\n | 'publicationDigest' | 'purgeReason' | 'purge'> = {};\n for (const [index, event] of events.entries()) {\n if (event.intentId !== first.intentId || event.sequence !== index) throw new Error('Governed Payload write saga binding drift');\n if (index === 0) continue;\n if (event.type === 'vault.written' && state === 'intent' && isHandle(event.payload.handle)) {\n state = 'vault_written'; extension = { ...extension, handle: event.payload.handle }; continue;\n }\n if (event.type === 'authority.indexed' && state === 'vault_written' && isDigest(event.payload.authorityIndexDigest)) {\n state = 'authority_indexed'; extension = { ...extension, authorityIndexDigest: event.payload.authorityIndexDigest }; continue;\n }\n if (event.type === 'header.published' && state === 'authority_indexed' && isDigest(event.payload.publicationDigest)) {\n state = 'published'; extension = { ...extension, publicationDigest: event.payload.publicationDigest }; continue;\n }\n if (event.type === 'purge.required' && state !== 'published'\n && ['write_failed', 'cas_lost', 'restart_unpublished'].includes(String(event.payload.purgeReason))) {\n state = 'purge_required'; extension = { ...extension, purgeReason: event.payload.purgeReason as GovernedPayloadWriteSagaSnapshot['purgeReason'] }; continue;\n }\n if (event.type === 'purge.attempted' && state === 'purge_required'\n && (!extension.purge || extension.purge.status === 'failed')) {\n const candidateDigest = snapshotDigest(intent, first.intentId, index - 1, state, extension);\n extension = {\n ...extension,\n purge: parsePurgeAttempt(event.payload, candidateDigest, extension.purge),\n };\n continue;\n }\n if (event.type === 'purge.receipt' && state === 'purge_required'\n && extension.purge && extension.purge.status !== 'confirmed') {\n const receipt = assertPurgeReceipt(event.payload.receipt, extension.purge.requestDigest);\n extension = {\n ...extension,\n purge: deepFreeze({ ...extension.purge, status: receipt.status, receipt }),\n };\n continue;\n }\n throw new Error('Governed Payload write saga transition drift');\n }\n const body = deepFreeze({\n ...intent, version: 1 as const, intentId: first.intentId, sequence: events.length - 1, state, ...extension,\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nfunction createPurgeRequest(\n snapshot: GovernedPayloadWriteSagaSnapshot,\n generation: number,\n): GovernedPayloadWritePurgeRequest {\n const attempt = (snapshot.purge?.attempt ?? 0) + 1;\n const body = deepFreeze({\n version: 1 as const,\n generation,\n intentId: snapshot.intentId,\n projectId: snapshot.projectId,\n objectId: snapshot.objectId,\n payloadHash: snapshot.payloadHash,\n descriptorDigest: snapshot.descriptorDigest,\n ...(snapshot.handle ? { handle: snapshot.handle } : {}),\n reason: snapshot.purgeReason!,\n attempt,\n fence: attempt,\n candidateDigest: snapshot.digest,\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nfunction purgeRequestFromState(\n snapshot: GovernedPayloadWriteSagaSnapshot,\n): GovernedPayloadWritePurgeRequest {\n const purge = snapshot.purge!;\n const body = deepFreeze({\n version: 1 as const,\n generation: purge.generation,\n intentId: snapshot.intentId,\n projectId: snapshot.projectId,\n objectId: snapshot.objectId,\n payloadHash: snapshot.payloadHash,\n descriptorDigest: snapshot.descriptorDigest,\n ...(snapshot.handle ? { handle: snapshot.handle } : {}),\n reason: snapshot.purgeReason!,\n attempt: purge.attempt,\n fence: purge.fence,\n candidateDigest: purge.candidateDigest,\n });\n const request = deepFreeze({ ...body, digest: digest(body) });\n if (request.digest !== purge.requestDigest) throw new Error('Governed Payload purge request replay drift');\n return request;\n}\n\nfunction assertPurgeRequest(\n request: GovernedPayloadWritePurgeRequest,\n snapshot: GovernedPayloadWriteSagaSnapshot,\n): void {\n const expected = createPurgeRequest(snapshot, request.generation);\n if (canonicalWorkroomJson(expected) !== canonicalWorkroomJson(request)) {\n throw new Error('Governed Payload purge request binding drift');\n }\n}\n\nfunction assertPurgeReceipt(\n value: unknown,\n requestDigest: string,\n): GovernedPayloadWritePurgeReceipt {\n if (!value || typeof value !== 'object') throw new Error('Governed Payload purge receipt is invalid');\n const receipt = value as Partial<GovernedPayloadWritePurgeReceipt>;\n if (receipt.version !== 1 || receipt.requestDigest !== requestDigest\n || !receipt.providerId || receipt.providerId.trim() !== receipt.providerId\n || !['confirmed', 'failed', 'outcome_unknown'].includes(String(receipt.status))\n || !Number.isSafeInteger(receipt.observedAt) || Number(receipt.observedAt) < 0\n || !isDigest(receipt.digest)) {\n throw new Error('Governed Payload purge receipt is invalid');\n }\n const { digest: supplied, ...body } = receipt;\n if (supplied !== digest(body)) throw new Error('Governed Payload purge receipt digest drift');\n return deepFreeze(structuredClone(receipt)) as GovernedPayloadWritePurgeReceipt;\n}\n\nfunction parsePurgeAttempt(\n value: Readonly<Record<string, unknown>>,\n candidateDigest: string,\n previous: GovernedPayloadWritePurgeState | undefined,\n): GovernedPayloadWritePurgeState {\n if (!Number.isSafeInteger(value.generation) || Number(value.generation) < 1\n || !Number.isSafeInteger(value.attempt) || Number(value.attempt) < 1\n || value.fence !== value.attempt\n || value.candidateDigest !== candidateDigest\n || !isDigest(value.requestDigest)\n || Number(value.attempt) !== (previous?.attempt ?? 0) + 1) {\n throw new Error('Governed Payload purge attempt drift');\n }\n return deepFreeze({\n generation: Number(value.generation),\n attempt: Number(value.attempt),\n fence: Number(value.fence),\n candidateDigest,\n requestDigest: value.requestDigest,\n status: 'pending' as const,\n });\n}\n\nfunction snapshotDigest(\n intent: GovernedPayloadWriteIntentInput,\n intentId: string,\n sequence: number,\n state: GovernedPayloadWriteState,\n extension: Pick<GovernedPayloadWriteSagaSnapshot, 'handle' | 'authorityIndexDigest'\n | 'publicationDigest' | 'purgeReason' | 'purge'>,\n): string {\n return digest({ ...intent, version: 1, intentId, sequence, state, ...extension });\n}\n\nfunction exactIntent(value: unknown): GovernedPayloadWriteIntentInput {\n if (!value || typeof value !== 'object') throw new Error('Governed Payload write intent is invalid');\n const input = value as Partial<GovernedPayloadWriteIntentInput>;\n for (const [field, candidate] of Object.entries({\n operationId: input.operationId, projectId: input.projectId, objectId: input.objectId,\n })) required(candidate, field);\n requiredDigest(input.payloadHash, 'payloadHash');\n requiredDigest(input.descriptorDigest, 'descriptorDigest');\n requiredDigest(input.sourceBindingDigest, 'sourceBindingDigest');\n if (![\n 'authority_source', 'evidence_header', 'task_report_header', 'journal_header',\n ].includes(String(input.consumer))) {\n throw new Error('Governed Payload write consumer is invalid');\n }\n if (input.publicationScope !== undefined) required(input.publicationScope, 'publicationScope');\n return deepFreeze({\n operationId: input.operationId!, projectId: input.projectId!, objectId: input.objectId!,\n payloadHash: input.payloadHash!, descriptorDigest: input.descriptorDigest!,\n sourceBindingDigest: input.sourceBindingDigest!, consumer: input.consumer!,\n ...(input.publicationScope ? { publicationScope: input.publicationScope } : {}),\n });\n}\n\nfunction parseEvent(value: unknown): GovernedPayloadWriteSagaEvent {\n if (!value || typeof value !== 'object') throw new Error('Governed Payload write saga event is invalid');\n const event = value as Partial<GovernedPayloadWriteSagaEvent>;\n if (event.version !== 1 || !Number.isSafeInteger(event.sequence) || Number(event.sequence) < 0\n || !event.payload || typeof event.payload !== 'object' || !isDigest(event.digest)) {\n throw new Error('Governed Payload write saga event is invalid');\n }\n const { digest: supplied, ...body } = event;\n if (supplied !== digest(body)) throw new Error('Governed Payload write saga event digest drift');\n return deepFreeze(structuredClone(event)) as GovernedPayloadWriteSagaEvent;\n}\n\nfunction pickIntent(value: GovernedPayloadWriteSagaSnapshot): GovernedPayloadWriteIntentInput {\n return exactIntent(value);\n}\n\nfunction replayTransition(\n current: GovernedPayloadWriteSagaSnapshot,\n type: GovernedPayloadWriteSagaEvent['type'],\n payload: Readonly<Record<string, unknown>>,\n): boolean {\n return (type === 'vault.written' && current.handle !== undefined && digest(current.handle) === digest(payload.handle))\n || (type === 'authority.indexed' && current.authorityIndexDigest === payload.authorityIndexDigest)\n || (type === 'header.published' && current.publicationDigest === payload.publicationDigest);\n}\n\nfunction fileId(intentId: string): string { return digest({ intentId }).slice('sha256:'.length); }\nfunction required(value: unknown, field: string): asserts value is string {\n if (typeof value !== 'string' || !value || value.trim() !== value) throw new Error(`${field} is invalid`);\n}\nfunction requiredDigest(value: unknown, field: string): asserts value is string {\n if (!isDigest(value)) throw new Error(`${field} is invalid`);\n}\nfunction isDigest(value: unknown): value is string { return typeof value === 'string' && /^sha256:[a-f\\d]{64}$/u.test(value); }\nfunction isHandle(value: unknown): value is PayloadVaultObjectHandle {\n return !!value && typeof value === 'object' && (value as Partial<PayloadVaultObjectHandle>).version === 1\n && typeof (value as Partial<PayloadVaultObjectHandle>).vaultObjectId === 'string';\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-hold-overdue-projection.js","sourceRoot":"","sources":["../../src/data-governance/payload-hold-overdue-projection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"payload-hold-overdue-projection.js","sourceRoot":"","sources":["../../src/data-governance/payload-hold-overdue-projection.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createPayloadLifecycleClockSnapshot,\n type PayloadLifecycleKernelClockPort,\n} from './payload-lifecycle.js';\nimport {\n canonicalWorkroomJson,\n compareCanonicalWorkroomText,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\n\nexport interface PayloadRetentionHoldProjectionState {\n readonly projectId: string;\n readonly objectId: string;\n readonly stateSequence: number;\n readonly stateDigest: string;\n readonly holds: Readonly<Record<string, Readonly<{\n id: string;\n ownerPrincipalId: string;\n reasonCode: 'legal_hold' | 'investigation' | 'regulatory_preservation';\n placedAt: number;\n reviewAt: number;\n review?: Readonly<{ reviewedAt: number }>;\n release?: Readonly<{ releasedBy: string; releasedAt: number }>;\n }>>>;\n}\n\n/** Trusted lifecycle reader; it must verify Journal governance proofs before returning state. */\nexport interface PayloadRetentionHoldOverdueProjectionSourcePort {\n listObjectIds(projectId: string): Promise<readonly string[]>;\n read(projectId: string, objectId: string): Promise<PayloadRetentionHoldProjectionState>;\n}\n\nexport interface PayloadRetentionHoldOverdueSnapshot {\n readonly version: 1;\n readonly projectId: string;\n readonly clockRevision: number;\n readonly observedAt: number;\n readonly overdue: readonly Readonly<{\n objectId: string;\n stateSequence: number;\n stateDigest: string;\n holdId: string;\n ownerPrincipalId: string;\n reasonCode: 'legal_hold' | 'investigation' | 'regulatory_preservation';\n placedAt: number;\n reviewAt: number;\n overdueBy: number;\n }>[];\n readonly digest: string;\n}\n\n/** Content-free operational projection. It cannot mutate accepted Project State. */\nexport class PayloadRetentionHoldOverdueProjection {\n constructor(readonly options: Readonly<{\n source: PayloadRetentionHoldOverdueProjectionSourcePort;\n clock: PayloadLifecycleKernelClockPort;\n }>) {}\n\n async project(projectId: string, signal: AbortSignal): Promise<PayloadRetentionHoldOverdueSnapshot> {\n signal.throwIfAborted();\n const project = required(projectId, 'Project id');\n const rawClock = await this.options.clock.read({\n operationId: `payload-hold-overdue-projection:${project}`,\n projectId: project,\n objectId: 'payload-hold-overdue-projection',\n purpose: 'retention',\n });\n if (!rawClock) throw new Error('Payload Hold overdue Kernel clock authority is unavailable');\n const clock = createPayloadLifecycleClockSnapshot(rawClock);\n if (canonicalWorkroomJson(clock) !== canonicalWorkroomJson(rawClock)) {\n throw new Error('Payload Hold overdue Kernel clock authority drift');\n }\n const overdue: PayloadRetentionHoldOverdueSnapshot['overdue'][number][] = [];\n const objectIds = [...await this.options.source.listObjectIds(project)].sort();\n if (new Set(objectIds).size !== objectIds.length) {\n throw new Error('Payload Hold overdue object source contains duplicates');\n }\n for (const objectId of objectIds) {\n signal.throwIfAborted();\n const state = await this.options.source.read(project, objectId);\n assertState(state, project, objectId);\n for (const hold of Object.values(state.holds).sort((left, right) =>\n compareCanonicalWorkroomText(left.id, right.id))) {\n if (hold.release || hold.review || clock.now <= hold.reviewAt) continue;\n overdue.push(deepFreeze({\n objectId,\n stateSequence: state.stateSequence,\n stateDigest: state.stateDigest,\n holdId: hold.id,\n ownerPrincipalId: hold.ownerPrincipalId,\n reasonCode: hold.reasonCode,\n placedAt: hold.placedAt,\n reviewAt: hold.reviewAt,\n overdueBy: clock.now - hold.reviewAt,\n }));\n }\n }\n const body = deepFreeze({\n version: 1 as const,\n projectId: project,\n clockRevision: clock.revision,\n observedAt: clock.now,\n overdue: deepFreeze(overdue),\n });\n return deepFreeze({ ...body, digest: digest(body) });\n }\n}\n\nfunction assertState(\n state: PayloadRetentionHoldProjectionState,\n projectId: string,\n objectId: string,\n): void {\n if (state.projectId !== projectId || state.objectId !== objectId\n || !Number.isSafeInteger(state.stateSequence) || state.stateSequence < -1\n || !/^sha256:[a-f\\d]{64}$/u.test(state.stateDigest)) {\n throw new Error('Payload Hold overdue trusted state binding drift');\n }\n for (const [holdId, hold] of Object.entries(state.holds)) {\n if (holdId !== hold.id || !hold.ownerPrincipalId.trim()\n || !['legal_hold', 'investigation', 'regulatory_preservation'].includes(hold.reasonCode)\n || !Number.isSafeInteger(hold.placedAt) || !Number.isSafeInteger(hold.reviewAt)\n || hold.reviewAt <= hold.placedAt) {\n throw new Error('Payload Hold overdue trusted Hold state is invalid');\n }\n }\n}\n\nfunction required(value: string, label: string): string {\n if (typeof value !== 'string' || value.trim() !== value || value.length === 0) {\n throw new Error(`${label} is invalid`);\n }\n return value;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-lifecycle.js","sourceRoot":"","sources":["../../src/data-governance/payload-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"payload-lifecycle.js","sourceRoot":"","sources":["../../src/data-governance/payload-lifecycle.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PayloadVaultObjectHandle } from './disclosure-manifest.js';\nimport {\n canonicalWorkroomJson,\n compareCanonicalWorkroomText,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from './canonical-value.js';\n\nexport type PayloadLifecycleRole = 'data_steward' | 'privacy' | 'compliance';\nexport type PayloadLocationKind = 'vault_primary' | 'index' | 'cache' | 'replica' | 'backup' | 'processor';\nexport type PayloadLocationDeletionMode = 'crypto_erase' | 'delete' | 'processor_recall';\n\nexport function digestPayloadSubjectRef(tenantId: string, subjectRef: string): string {\n text(tenantId, 'Payload subject tenantId');\n text(subjectRef, 'Payload subject ref');\n return digest({ version: 1, tenantId, subjectRef });\n}\n\nexport interface PayloadLocationAuthority {\n readonly id: string;\n readonly kind: PayloadLocationKind;\n readonly authorityDigest: string;\n readonly deletionMode: PayloadLocationDeletionMode;\n}\n\nexport interface PayloadLocationManifest {\n readonly version: 1;\n readonly tenantId: string;\n readonly projectId: string;\n readonly objectId: string;\n readonly vaultObjectId: string;\n readonly descriptorDigest: string;\n readonly revision: number;\n readonly locations: readonly PayloadLocationAuthority[];\n readonly digest: string;\n}\n\nexport function createPayloadLocationManifest(\n input: Omit<PayloadLocationManifest, 'digest'>,\n): PayloadLocationManifest {\n if (input.version !== 1) throw new Error('Payload Location Manifest version is invalid');\n text(input.tenantId, 'Location Manifest tenantId');\n text(input.projectId, 'Location Manifest projectId');\n text(input.objectId, 'Location Manifest objectId');\n text(input.vaultObjectId, 'Location Manifest vaultObjectId');\n requiredDigest(input.descriptorDigest, 'Location Manifest Descriptor digest');\n positive(input.revision, 'Location Manifest revision');\n if (!Array.isArray(input.locations) || input.locations.length === 0) {\n throw new Error('Payload Location Manifest must contain at least one location');\n }\n const locations = input.locations.map(location => {\n text(location.id, 'Payload location id');\n if (!['vault_primary', 'index', 'cache', 'replica', 'backup', 'processor'].includes(location.kind)) {\n throw new Error('Payload location kind is invalid');\n }\n if (!['crypto_erase', 'delete', 'processor_recall'].includes(location.deletionMode)) {\n throw new Error('Payload location deletion mode is invalid');\n }\n requiredDigest(location.authorityDigest, 'Payload location authority digest');\n return deepFreeze(structuredClone(location));\n }).sort((left, right) => compareCanonicalWorkroomText(left.id, right.id));\n if (new Set(locations.map(location => location.id)).size !== locations.length) {\n throw new Error('Payload Location Manifest contains duplicate locations');\n }\n if (locations.filter(location => location.deletionMode === 'crypto_erase').length > 1) {\n throw new Error('Payload Location Manifest has multiple object-key authorities');\n }\n const body = deepFreeze({\n version: 1 as const,\n tenantId: input.tenantId,\n projectId: input.projectId,\n objectId: input.objectId,\n vaultObjectId: input.vaultObjectId,\n descriptorDigest: input.descriptorDigest,\n revision: input.revision,\n locations,\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nexport interface PayloadLifecycleObjectAuthority {\n readonly version: 1;\n readonly handle: PayloadVaultObjectHandle;\n readonly retention: Readonly<{\n readonly class: 'transient' | 'operational' | 'project_record' | 'regulated_record';\n readonly minimumRetainUntil: number;\n readonly deleteAfter: number;\n }>;\n /** Digests only. Raw subject identifiers never enter the lifecycle Journal. */\n readonly subjectDigests: readonly string[];\n readonly locations: PayloadLocationManifest;\n readonly digest: string;\n}\n\nexport function createPayloadLifecycleObjectAuthority(\n input: Omit<PayloadLifecycleObjectAuthority, 'digest'>,\n): PayloadLifecycleObjectAuthority {\n if (input.version !== 1) throw new Error('Payload Lifecycle object authority version is invalid');\n assertHandle(input.handle);\n const manifest = createPayloadLocationManifest(input.locations);\n if (canonicalWorkroomJson(manifest) !== canonicalWorkroomJson(input.locations)\n || manifest.tenantId !== input.handle.tenantId\n || manifest.projectId !== input.handle.projectId\n || manifest.objectId !== input.handle.objectId\n || manifest.vaultObjectId !== input.handle.vaultObjectId\n || manifest.descriptorDigest !== input.handle.descriptorDigest\n || manifest.digest !== input.handle.locationManifestDigest) {\n throw new Error('Payload Lifecycle object/Location Manifest binding is invalid');\n }\n if (!input.retention || !['transient', 'operational', 'project_record', 'regulated_record']\n .includes(input.retention.class)\n || !Number.isSafeInteger(input.retention.minimumRetainUntil)\n || !Number.isSafeInteger(input.retention.deleteAfter)\n || input.retention.minimumRetainUntil < 0\n || input.retention.deleteAfter < input.retention.minimumRetainUntil) {\n throw new Error('Payload Lifecycle retention authority is invalid');\n }\n const subjectDigests = uniqueDigests(input.subjectDigests, 'Payload Lifecycle subject digest');\n const body = deepFreeze({\n version: 1 as const,\n handle: structuredClone(input.handle),\n retention: structuredClone(input.retention),\n subjectDigests,\n locations: manifest,\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nexport interface PayloadLifecycleClockSnapshot {\n readonly version: 1;\n readonly now: number;\n readonly revision: number;\n readonly digest: string;\n}\n\nexport function createPayloadLifecycleClockSnapshot(\n input: Omit<PayloadLifecycleClockSnapshot, 'digest'>,\n): PayloadLifecycleClockSnapshot {\n if (input.version !== 1 || !Number.isSafeInteger(input.now) || input.now < 0\n || !Number.isSafeInteger(input.revision) || input.revision < 0) {\n throw new Error('Payload Lifecycle Kernel clock is invalid');\n }\n const body = deepFreeze({ version: 1 as const, now: input.now, revision: input.revision });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nexport type PayloadLifecycleAuthorityAction =\n | 'register_object'\n | 'place_hold'\n | 'review_hold'\n | 'release_hold'\n | 'request_subject_erasure'\n | 'schedule_retention_purge'\n | 'reconcile_purge';\n\nexport interface PayloadLifecycleAuthorityRequest {\n readonly version: 1;\n readonly action: PayloadLifecycleAuthorityAction;\n readonly requiredRole: PayloadLifecycleRole;\n readonly operationId: string;\n readonly authenticatedPrincipalId: string;\n readonly tenantId: string;\n readonly projectId: string;\n readonly objectId: string;\n readonly objectAuthorityDigest: string;\n readonly currentStateDigest: string;\n readonly candidateDigest: string;\n readonly clock: PayloadLifecycleClockSnapshot;\n readonly digest: string;\n}\n\nexport interface PayloadLifecycleAuthorityDecision {\n readonly approved: true;\n readonly requestDigest: string;\n readonly decisionId: string;\n readonly principalId: string;\n readonly role: PayloadLifecycleRole;\n readonly authorityDigest: string;\n readonly decidedAt: number;\n readonly minimumRetentionOverride?: Readonly<{\n readonly policyRef: string;\n readonly policyDigest: string;\n readonly objectAuthorityDigest: string;\n }>;\n readonly separationPolicy?: Readonly<{\n readonly allowsSelfReview: boolean;\n readonly policyDigest: string;\n }>;\n}\n\nexport type PayloadLifecycleAuthorityResult = PayloadLifecycleAuthorityDecision\n | Readonly<{ approved: false; requestDigest: string; reason: string }>;\n\nexport interface PayloadLifecycleCommandAuthorityPort {\n authorize(request: PayloadLifecycleAuthorityRequest): Promise<PayloadLifecycleAuthorityResult>;\n verify(request: PayloadLifecycleAuthorityRequest, decision: PayloadLifecycleAuthorityDecision): Promise<boolean>;\n}\n\nexport interface PayloadLifecycleKernelClockPort {\n read(input: Readonly<{\n operationId: string;\n projectId: string;\n objectId: string;\n purpose: 'control' | 'retention' | 'reconciliation';\n }>): Promise<PayloadLifecycleClockSnapshot | undefined>;\n}\n\nexport interface PayloadLifecycleObjectAuthorityPort {\n resolve(handle: PayloadVaultObjectHandle, signal: AbortSignal): Promise<PayloadLifecycleObjectAuthority | undefined>;\n}\n\nexport interface PayloadSubjectErasureResolution {\n readonly version: 1;\n readonly tenantId: string;\n readonly projectId: string;\n readonly subjectDigest: string;\n readonly handles: readonly PayloadVaultObjectHandle[];\n readonly authorityDigest: string;\n readonly digest: string;\n}\n\nexport interface PayloadSubjectErasureResolverPort {\n resolve(input: Readonly<{\n tenantId: string;\n projectId: string;\n subjectRef: string;\n }>, signal: AbortSignal): Promise<PayloadSubjectErasureResolution | undefined>;\n}\n\nexport interface PayloadRetentionHold {\n readonly id: string;\n readonly ownerPrincipalId: string;\n readonly reasonCode: 'legal_hold' | 'investigation' | 'regulatory_preservation';\n readonly placedAt: number;\n readonly reviewAt: number;\n readonly placeRequest: PayloadLifecycleAuthorityRequest;\n readonly placeDecision: PayloadLifecycleAuthorityDecision;\n readonly review?: Readonly<{\n readonly approved: boolean;\n readonly reviewerPrincipalId: string;\n readonly reviewedAt: number;\n readonly request: PayloadLifecycleAuthorityRequest;\n readonly decision: PayloadLifecycleAuthorityDecision;\n }>;\n readonly release?: Readonly<{\n readonly releasedBy: string;\n readonly releasedAt: number;\n readonly request: PayloadLifecycleAuthorityRequest;\n readonly decision: PayloadLifecycleAuthorityDecision;\n }>;\n}\n\nexport interface PayloadSubjectErasureFact {\n readonly subjectDigest: string;\n readonly requestedAt: number;\n readonly request: PayloadLifecycleAuthorityRequest;\n readonly decision: PayloadLifecycleAuthorityDecision;\n readonly resolverAuthorityDigest: string;\n}\n\nexport interface PayloadLifecycleGovernanceProof {\n readonly request: PayloadLifecycleAuthorityRequest;\n readonly decision: PayloadLifecycleAuthorityDecision;\n}\n\nexport interface PayloadPurgeDispatch {\n readonly id: string;\n readonly reason: 'retention_expired' | 'subject_erasure';\n readonly objectAuthorityDigest: string;\n readonly locationManifestDigest: string;\n readonly location: PayloadLocationAuthority;\n readonly attempt: number;\n readonly fence: number;\n readonly requestedAt: number;\n readonly requestDigest: string;\n readonly governance: PayloadLifecycleGovernanceProof;\n readonly digest: string;\n}\n\nexport interface PayloadPurgeReceipt {\n readonly version: 1;\n readonly purgeId: string;\n readonly projectId: string;\n readonly objectId: string;\n readonly locationId: string;\n readonly locationAuthorityDigest: string;\n readonly locationManifestDigest: string;\n readonly attempt: number;\n readonly fence: number;\n readonly requestDigest: string;\n readonly status: 'confirmed' | 'failed' | 'outcome_unknown';\n readonly reasonCode?: 'unsupported' | 'provider_denied' | 'transient_failure' | 'timeout' | 'unknown_external_copy';\n readonly cryptoEraseReceiptDigest?: string;\n readonly authenticatedBy: string;\n readonly observedAt: number;\n readonly authorityDigest: string;\n readonly digest: string;\n}\n\nexport interface PayloadPurgeReceiptAuthorityPort {\n /** Verify the persisted receipt proof itself, not current provider membership. */\n verify(receipt: PayloadPurgeReceipt, dispatch: PayloadPurgeDispatch): Promise<boolean>;\n}\n\nexport interface PayloadLocationDeletionPort {\n /**\n * Execute or observe one idempotent attempt. Implementations MUST key the\n * external operation by purge id + attempt + fence and never duplicate it.\n */\n purge(dispatch: PayloadPurgeDispatch, signal: AbortSignal): Promise<PayloadPurgeReceipt>;\n}\n\nexport interface PayloadCryptoEraseTombstone {\n readonly version: 1;\n readonly projectId: string;\n readonly objectId: string;\n readonly vaultObjectId: string;\n readonly objectAuthorityDigest: string;\n readonly locationManifestDigest: string;\n readonly locationId: string;\n readonly cryptoEraseReceiptDigest: string;\n readonly erasedAt: number;\n readonly digest: string;\n}\n\nexport interface PayloadPurgeCompletion {\n readonly version: 1;\n readonly projectId: string;\n readonly objectId: string;\n readonly objectAuthorityDigest: string;\n readonly locationManifestDigest: string;\n readonly completedAt: number;\n readonly receiptDigests: readonly string[];\n readonly digest: string;\n}\n\nexport type PayloadLifecycleEventDraft = Readonly<{\n type: 'object.registered';\n payload: Readonly<{\n authority: PayloadLifecycleObjectAuthority;\n governance: PayloadLifecycleGovernanceProof;\n }>;\n}> | Readonly<{\n type: 'hold.placed';\n payload: PayloadRetentionHold;\n}> | Readonly<{\n type: 'hold.reviewed' | 'hold.released';\n payload: Readonly<{ holdId: string; hold: PayloadRetentionHold }>;\n}> | Readonly<{\n type: 'erasure.requested';\n payload: PayloadSubjectErasureFact;\n}> | Readonly<{\n type: 'purge.requested';\n payload: PayloadPurgeDispatch;\n}> | Readonly<{\n type: 'purge.receipt';\n payload: PayloadPurgeReceipt;\n}> | Readonly<{\n type: 'object.crypto_erased';\n payload: PayloadCryptoEraseTombstone;\n}> | Readonly<{\n type: 'object.purge_complete';\n payload: PayloadPurgeCompletion;\n}>;\n\nexport type PayloadLifecycleEvent = PayloadLifecycleEventDraft & Readonly<{\n version: 1;\n projectId: string;\n objectId: string;\n sequence: number;\n digest: string;\n}>;\n\nexport interface PayloadLifecycleJournal {\n read(projectId: string, objectId: string): Promise<readonly PayloadLifecycleEvent[]>;\n append(\n projectId: string,\n objectId: string,\n expectedSequence: number,\n drafts: readonly PayloadLifecycleEventDraft[],\n ): Promise<readonly PayloadLifecycleEvent[]>;\n listObjectIds(projectId: string): Promise<readonly string[]>;\n}\n\nexport interface PayloadLifecycleState {\n readonly projectId: string;\n readonly objectId: string;\n readonly sequence: number;\n readonly digest: string;\n readonly authority?: PayloadLifecycleObjectAuthority;\n readonly holds: Readonly<Record<string, PayloadRetentionHold>>;\n readonly erasures: readonly PayloadSubjectErasureFact[];\n readonly purges: Readonly<Record<string, Readonly<{\n dispatch: PayloadPurgeDispatch;\n receipt?: PayloadPurgeReceipt;\n }>>>;\n readonly cryptoErased?: PayloadCryptoEraseTombstone;\n readonly purgeComplete?: PayloadPurgeCompletion;\n}\n\nexport function replayPayloadLifecycle(\n projectId: string,\n objectId: string,\n events: readonly PayloadLifecycleEvent[],\n): PayloadLifecycleState {\n text(projectId, 'Lifecycle Project id');\n text(objectId, 'Lifecycle object id');\n let authority: PayloadLifecycleObjectAuthority | undefined;\n const holds: Record<string, PayloadRetentionHold> = {};\n const erasures: PayloadSubjectErasureFact[] = [];\n const purges: Record<string, { dispatch: PayloadPurgeDispatch; receipt?: PayloadPurgeReceipt }> = {};\n let cryptoErased: PayloadCryptoEraseTombstone | undefined;\n let purgeComplete: PayloadPurgeCompletion | undefined;\n events.forEach((event, index) => {\n assertEvent(event, projectId, objectId, index);\n switch (event.type) {\n case 'object.registered':\n if (authority) throw new Error('Payload Lifecycle object is already registered');\n authority = createPayloadLifecycleObjectAuthority(event.payload.authority);\n assertGovernanceBinding(event.payload.governance, authority, 'register_object');\n assertCandidate(event.payload.governance, authority.digest);\n break;\n case 'hold.placed':\n if (!authority || holds[event.payload.id] || Object.keys(purges).length > 0\n || cryptoErased || purgeComplete) {\n throw new Error('Payload Lifecycle Hold placement is invalid');\n }\n assertGovernanceBinding(\n { request: event.payload.placeRequest, decision: event.payload.placeDecision },\n authority,\n 'place_hold',\n );\n assertCandidate(\n { request: event.payload.placeRequest, decision: event.payload.placeDecision },\n digest({\n holdId: event.payload.id,\n owner: event.payload.ownerPrincipalId,\n reasonCode: event.payload.reasonCode,\n reviewAt: event.payload.reviewAt,\n }),\n );\n if (event.payload.placedAt !== event.payload.placeRequest.clock.now\n || event.payload.reviewAt <= event.payload.placedAt) {\n throw new Error('Payload Lifecycle Hold placement clock binding is invalid');\n }\n holds[event.payload.id] = deepFreeze(structuredClone(event.payload));\n break;\n case 'hold.reviewed': {\n const current = holds[event.payload.holdId];\n const nextReview = event.payload.hold.review;\n if (!current || current.release || current.review?.approved || !nextReview\n || canonicalWorkroomJson({ ...current, review: nextReview })\n !== canonicalWorkroomJson(event.payload.hold)) {\n throw new Error('Payload Lifecycle Hold review is stale');\n }\n assertGovernanceBinding(\n { request: nextReview.request, decision: nextReview.decision }, authority!, 'review_hold',\n );\n assertCandidate(\n { request: nextReview.request, decision: nextReview.decision },\n digest({\n holdId: event.payload.holdId,\n approved: nextReview.approved,\n placeAuthority: current.placeDecision.authorityDigest,\n }),\n );\n if (nextReview.reviewedAt !== nextReview.request.clock.now) {\n throw new Error('Payload Lifecycle Hold review clock binding is invalid');\n }\n holds[event.payload.holdId] = deepFreeze(structuredClone(event.payload.hold));\n break;\n }\n case 'hold.released': {\n const current = holds[event.payload.holdId];\n if (!current?.review?.approved || current.release) throw new Error('Payload Lifecycle Hold release is invalid');\n if (!event.payload.hold.release) throw new Error('Payload Lifecycle Hold release proof is unavailable');\n assertGovernanceBinding(\n { request: event.payload.hold.release.request, decision: event.payload.hold.release.decision },\n authority!,\n 'release_hold',\n );\n assertCandidate(\n { request: event.payload.hold.release.request, decision: event.payload.hold.release.decision },\n digest({\n holdId: event.payload.holdId,\n placeAuthority: current.placeDecision.authorityDigest,\n reviewAuthority: current.review.decision.authorityDigest,\n }),\n );\n if (event.payload.hold.release.releasedAt !== event.payload.hold.release.request.clock.now) {\n throw new Error('Payload Lifecycle Hold release clock binding is invalid');\n }\n holds[event.payload.holdId] = deepFreeze(structuredClone(event.payload.hold));\n break;\n }\n case 'erasure.requested':\n if (!authority || !authority.subjectDigests.includes(event.payload.subjectDigest)) {\n throw new Error('Payload Lifecycle erasure subject binding is invalid');\n }\n assertGovernanceBinding(\n { request: event.payload.request, decision: event.payload.decision },\n authority,\n 'request_subject_erasure',\n );\n assertCandidate(\n { request: event.payload.request, decision: event.payload.decision },\n digest({\n subjectDigest: event.payload.subjectDigest,\n resolverAuthorityDigest: event.payload.resolverAuthorityDigest,\n }),\n );\n if (event.payload.requestedAt !== event.payload.request.clock.now) {\n throw new Error('Payload subject erasure clock binding is invalid');\n }\n erasures.push(deepFreeze(structuredClone(event.payload)));\n break;\n case 'purge.requested': {\n if (!authority || event.payload.objectAuthorityDigest !== authority.digest\n || event.payload.locationManifestDigest !== authority.locations.digest\n || event.payload.digest !== digestWithoutDigest(event.payload)) {\n throw new Error('Payload purge dispatch object authority is stale');\n }\n const exactLocation = authority.locations.locations.find(location => location.id === event.payload.location.id);\n if (!exactLocation || canonicalWorkroomJson(exactLocation) !== canonicalWorkroomJson(event.payload.location)\n || event.payload.id !== purgeId(projectId, objectId, exactLocation.id)\n || event.payload.requestedAt !== event.payload.governance.request.clock.now) {\n throw new Error('Payload purge dispatch Location Manifest binding is invalid');\n }\n assertGovernanceBinding(event.payload.governance, authority);\n const allowedActions = event.payload.reason === 'subject_erasure'\n ? ['request_subject_erasure', 'reconcile_purge']\n : ['schedule_retention_purge', 'reconcile_purge'];\n if (!allowedActions.includes(event.payload.governance.request.action)) {\n throw new Error('Payload purge governance action/reason binding is invalid');\n }\n const current = purges[event.payload.id];\n switch (event.payload.governance.request.action) {\n case 'request_subject_erasure':\n if (!erasures.some(value => value.request.digest === event.payload.requestDigest)) {\n throw new Error('Payload subject erasure purge lacks its exact erasure fact');\n }\n break;\n case 'schedule_retention_purge':\n assertCandidate(\n event.payload.governance,\n digest({ deleteAfter: authority.retention.deleteAfter }),\n );\n break;\n case 'reconcile_purge':\n if (!current?.receipt) throw new Error('Payload purge reconciliation lacks its prior receipt');\n assertCandidate(\n event.payload.governance,\n digest({ purgeId: event.payload.id, receiptDigest: current.receipt.digest }),\n );\n break;\n default:\n throw new Error('Payload purge governance action is invalid');\n }\n if ((!current && (event.payload.attempt !== 1 || event.payload.fence !== 1))\n || (current && (event.payload.attempt !== current.dispatch.attempt + 1\n || event.payload.fence !== current.dispatch.fence + 1\n || current.receipt?.status === 'confirmed'))) {\n throw new Error('Payload purge retry attempt/fence is invalid');\n }\n purges[event.payload.id] = { dispatch: deepFreeze(structuredClone(event.payload)) };\n break;\n }\n case 'purge.receipt': {\n const current = purges[event.payload.purgeId];\n if (!current || current.receipt\n || !receiptMatchesDispatch(event.payload, current.dispatch)) {\n throw new Error('Payload purge receipt is stale');\n }\n assertReceipt(event.payload, current.dispatch);\n purges[event.payload.purgeId] = {\n dispatch: current.dispatch,\n receipt: deepFreeze(structuredClone(event.payload)),\n };\n break;\n }\n case 'object.crypto_erased':\n if (cryptoErased || !authority || event.payload.objectAuthorityDigest !== authority.digest\n || event.payload.locationManifestDigest !== authority.locations.digest\n || event.payload.digest !== digestWithoutDigest(event.payload)) {\n throw new Error('Payload crypto-erasure tombstone is invalid');\n }\n {\n const confirmation = Object.values(purges).find(value =>\n value.dispatch.location.id === event.payload.locationId\n && value.dispatch.location.deletionMode === 'crypto_erase'\n && value.receipt?.status === 'confirmed'\n && value.receipt.cryptoEraseReceiptDigest === event.payload.cryptoEraseReceiptDigest\n && value.receipt.observedAt === event.payload.erasedAt);\n if (!confirmation) throw new Error('Payload crypto-erasure tombstone lacks an exact confirmed receipt');\n }\n cryptoErased = deepFreeze(structuredClone(event.payload));\n break;\n case 'object.purge_complete':\n if (purgeComplete || !authority || event.payload.objectAuthorityDigest !== authority.digest\n || event.payload.locationManifestDigest !== authority.locations.digest\n || event.payload.digest !== digestWithoutDigest(event.payload)\n || Object.keys(purges).length !== authority.locations.locations.length\n || Object.values(purges).some(value => value.receipt?.status !== 'confirmed')) {\n throw new Error('Payload purge completion is not supported by all location receipts');\n }\n {\n const confirmed = Object.values(purges).map(value => value.receipt!);\n if (canonicalWorkroomJson(event.payload.receiptDigests)\n !== canonicalWorkroomJson(confirmed.map(value => value.digest).sort())\n || event.payload.completedAt !== Math.max(...confirmed.map(value => value.observedAt))) {\n throw new Error('Payload purge completion receipt summary is stale');\n }\n }\n purgeComplete = deepFreeze(structuredClone(event.payload));\n break;\n }\n });\n const sequence = events.at(-1)?.sequence ?? -1;\n const body = deepFreeze({\n projectId,\n objectId,\n sequence,\n ...(authority ? { authority } : {}),\n holds: Object.fromEntries(Object.entries(holds).sort(([left], [right]) =>\n compareCanonicalWorkroomText(left, right))),\n erasures,\n purges: Object.fromEntries(Object.entries(purges).sort(([left], [right]) =>\n compareCanonicalWorkroomText(left, right))),\n ...(cryptoErased ? { cryptoErased } : {}),\n ...(purgeComplete ? { purgeComplete } : {}),\n });\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nexport interface PayloadLifecycleControlPort {\n register(command: Readonly<{\n version: 1; operationId: string; authenticatedPrincipalId: string; handle: PayloadVaultObjectHandle;\n }>, signal: AbortSignal): Promise<PayloadLifecycleState>;\n placeHold(command: Readonly<{\n version: 1; operationId: string; authenticatedPrincipalId: string; projectId: string; objectId: string;\n holdId: string; ownerPrincipalId: string;\n reasonCode: PayloadRetentionHold['reasonCode'];\n reviewAt: number;\n }>, signal: AbortSignal): Promise<PayloadLifecycleState>;\n reviewHold(command: Readonly<{\n version: 1; operationId: string; authenticatedPrincipalId: string; projectId: string; objectId: string;\n holdId: string; approved: boolean;\n }>, signal: AbortSignal): Promise<PayloadLifecycleState>;\n releaseHold(command: Readonly<{\n version: 1; operationId: string; authenticatedPrincipalId: string; projectId: string; objectId: string;\n holdId: string;\n }>, signal: AbortSignal): Promise<PayloadLifecycleState>;\n requestSubjectErasure(command: Readonly<{\n version: 1; operationId: string; authenticatedPrincipalId: string; tenantId: string; projectId: string;\n subjectRef: string;\n }>, signal: AbortSignal): Promise<readonly PayloadLifecycleState[]>;\n evaluateRetention(command: Readonly<{\n version: 1; operationId: string; authenticatedPrincipalId: string; projectId: string; objectId: string;\n }>, signal: AbortSignal): Promise<PayloadLifecycleState>;\n reconcile(command: Readonly<{\n version: 1; operationId: string; authenticatedPrincipalId: string; projectId: string; objectId: string;\n purgeId: string;\n }>, signal: AbortSignal): Promise<PayloadLifecycleState>;\n}\n\nexport interface PayloadLifecycleWorkerPort {\n dispatch(projectId: string, objectId: string, signal: AbortSignal): Promise<PayloadLifecycleState>;\n drainProject(projectId: string, signal: AbortSignal): Promise<readonly PayloadLifecycleState[]>;\n}\n\nexport class PayloadLifecycleRuntime {\n readonly control: PayloadLifecycleControlPort;\n readonly worker: PayloadLifecycleWorkerPort;\n\n constructor(readonly options: Readonly<{\n journal: PayloadLifecycleJournal;\n clock: PayloadLifecycleKernelClockPort;\n authority: PayloadLifecycleCommandAuthorityPort;\n objects: PayloadLifecycleObjectAuthorityPort;\n subjects: PayloadSubjectErasureResolverPort;\n deletion: PayloadLocationDeletionPort;\n receipts: PayloadPurgeReceiptAuthorityPort;\n }>) {\n this.control = Object.freeze<PayloadLifecycleControlPort>({\n register: (command, signal) => this.#register(command, signal),\n placeHold: (command, signal) => this.#placeHold(command, signal),\n reviewHold: (command, signal) => this.#reviewHold(command, signal),\n releaseHold: (command, signal) => this.#releaseHold(command, signal),\n requestSubjectErasure: (command, signal) => this.#requestErasure(command, signal),\n evaluateRetention: (command, signal) => this.#evaluateRetention(command, signal),\n reconcile: (command, signal) => this.#reconcile(command, signal),\n });\n this.worker = Object.freeze<PayloadLifecycleWorkerPort>({\n dispatch: (projectId, objectId, signal) => this.#dispatch(projectId, objectId, signal),\n drainProject: (projectId, signal) => this.#drainProject(projectId, signal),\n });\n }\n\n async read(projectId: string, objectId: string): Promise<PayloadLifecycleState> {\n const events = await this.options.journal.read(projectId, objectId);\n const verifiedRequests = new Map<string, string>();\n for (const [eventIndex, event] of events.entries()) {\n const stateBefore = replayPayloadLifecycle(projectId, objectId, events.slice(0, event.sequence));\n for (const proof of eventAuthorityProofs(event)) {\n const firstStateDigest = verifiedRequests.get(proof.request.digest);\n if (firstStateDigest === undefined) {\n if (proof.request.currentStateDigest !== stateBefore.digest) {\n throw new Error('Payload Lifecycle persisted governance proof state binding is stale');\n }\n verifiedRequests.set(proof.request.digest, stateBefore.digest);\n } else if (firstStateDigest !== proof.request.currentStateDigest) {\n throw new Error('Payload Lifecycle persisted governance proof replay binding is stale');\n }\n if (!await this.options.authority.verify(proof.request, proof.decision)) {\n throw new Error('Payload Lifecycle persisted governance proof is untrusted');\n }\n }\n if (event.type === 'purge.receipt') {\n const dispatch = stateBefore.purges[event.payload.purgeId]?.dispatch;\n if (!dispatch || !await this.options.receipts.verify(event.payload, dispatch)) {\n throw new Error('Payload Lifecycle persisted purge receipt is untrusted');\n }\n if (event.payload.status === 'confirmed' && dispatch.location.deletionMode === 'crypto_erase') {\n const tombstone = events[eventIndex + 1];\n if (!tombstone || tombstone.type !== 'object.crypto_erased'\n || tombstone.payload.cryptoEraseReceiptDigest !== event.payload.cryptoEraseReceiptDigest\n || tombstone.payload.locationId !== event.payload.locationId) {\n throw new Error('Payload crypto-erasure confirmation lacks its atomic tombstone');\n }\n }\n }\n }\n return replayPayloadLifecycle(projectId, objectId, events);\n }\n\n async #register(command: Parameters<PayloadLifecycleControlPort['register']>[0], signal: AbortSignal) {\n exactKeys(command, ['version', 'operationId', 'authenticatedPrincipalId', 'handle'], 'register command');\n header(command, signal);\n const object = await this.options.objects.resolve(command.handle, signal);\n if (!object || canonicalWorkroomJson(object.handle) !== canonicalWorkroomJson(command.handle)) {\n throw new Error('Trusted Payload Lifecycle object authority is unavailable');\n }\n const current = await this.read(object.handle.projectId, object.handle.objectId);\n if (current.authority) {\n if (current.authority.digest !== object.digest) throw new Error('Payload Lifecycle object authority drift');\n return current;\n }\n const clock = await this.#clock(command.operationId, object.handle.projectId, object.handle.objectId, 'control');\n const governance = await this.#authorize(\n 'register_object', 'data_steward', command, object, current, object.digest, clock,\n );\n await this.options.journal.append(object.handle.projectId, object.handle.objectId, current.sequence, [{\n type: 'object.registered', payload: { authority: object, governance },\n }]);\n return await this.read(object.handle.projectId, object.handle.objectId);\n }\n\n async #placeHold(command: Parameters<PayloadLifecycleControlPort['placeHold']>[0], signal: AbortSignal) {\n exactKeys(command, [\n 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId',\n 'holdId', 'ownerPrincipalId', 'reasonCode', 'reviewAt',\n ], 'place Hold command');\n header(command, signal);\n text(command.holdId, 'Hold id');\n text(command.ownerPrincipalId, 'Hold owner');\n if (command.ownerPrincipalId !== command.authenticatedPrincipalId) throw new Error('Hold owner must place the Hold');\n if (!['legal_hold', 'investigation', 'regulatory_preservation'].includes(command.reasonCode)) {\n throw new Error('Hold reason code is invalid');\n }\n if (!Number.isSafeInteger(command.reviewAt) || command.reviewAt < 0) {\n throw new Error('Hold reviewAt is invalid');\n }\n const state = await this.#registered(command.projectId, command.objectId);\n const existing = state.holds[command.holdId];\n if (existing) {\n if (existing.ownerPrincipalId !== command.ownerPrincipalId\n || existing.reasonCode !== command.reasonCode\n || existing.reviewAt !== command.reviewAt) {\n throw new Error('Retention Hold idempotency binding drift');\n }\n return state;\n }\n if (Object.keys(state.purges).length > 0 || state.cryptoErased || state.purgeComplete) {\n throw new Error('Retention Hold cannot be placed after deletion is scheduled');\n }\n const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'control');\n if (command.reviewAt <= clock.now) throw new Error('Hold reviewAt must be after placement time');\n const candidate = digest({\n holdId: command.holdId,\n owner: command.ownerPrincipalId,\n reasonCode: command.reasonCode,\n reviewAt: command.reviewAt,\n });\n const proof = await this.#authorize(\n 'place_hold', 'data_steward', command, state.authority!, state, candidate, clock,\n );\n const hold = deepFreeze<PayloadRetentionHold>({\n id: command.holdId,\n ownerPrincipalId: command.ownerPrincipalId,\n reasonCode: command.reasonCode,\n placedAt: clock.now,\n reviewAt: command.reviewAt,\n placeRequest: proof.request,\n placeDecision: proof.decision,\n });\n await this.options.journal.append(command.projectId, command.objectId, state.sequence, [{\n type: 'hold.placed', payload: hold,\n }]);\n return await this.read(command.projectId, command.objectId);\n }\n\n async #reviewHold(command: Parameters<PayloadLifecycleControlPort['reviewHold']>[0], signal: AbortSignal) {\n exactKeys(command, [\n 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId', 'holdId', 'approved',\n ], 'review Hold command');\n header(command, signal);\n if (typeof command.approved !== 'boolean') throw new Error('Hold review decision is invalid');\n const state = await this.#registered(command.projectId, command.objectId);\n const hold = state.holds[command.holdId];\n if (!hold) throw new Error('Retention Hold is unavailable');\n if (hold.review?.approved) {\n if (!command.approved || hold.review.reviewerPrincipalId !== command.authenticatedPrincipalId) {\n throw new Error('Retention Hold review idempotency binding drift');\n }\n return state;\n }\n const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'control');\n const proof = await this.#authorize(\n 'review_hold', 'compliance', command, state.authority!, state,\n digest({ holdId: command.holdId, approved: command.approved, placeAuthority: hold.placeDecision.authorityDigest }),\n clock,\n );\n if (command.authenticatedPrincipalId === hold.ownerPrincipalId\n && proof.decision.separationPolicy?.allowsSelfReview !== true) {\n throw new Error('Retention Hold owner cannot self-review without exact separation policy');\n }\n const next = deepFreeze<PayloadRetentionHold>({\n ...structuredClone(hold),\n review: {\n approved: command.approved,\n reviewerPrincipalId: command.authenticatedPrincipalId,\n reviewedAt: clock.now,\n request: proof.request,\n decision: proof.decision,\n },\n });\n await this.options.journal.append(command.projectId, command.objectId, state.sequence, [{\n type: 'hold.reviewed', payload: { holdId: hold.id, hold: next },\n }]);\n return await this.read(command.projectId, command.objectId);\n }\n\n async #releaseHold(command: Parameters<PayloadLifecycleControlPort['releaseHold']>[0], signal: AbortSignal) {\n exactKeys(command, [\n 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId', 'holdId',\n ], 'release Hold command');\n header(command, signal);\n const state = await this.#registered(command.projectId, command.objectId);\n const hold = state.holds[command.holdId];\n if (!hold?.review?.approved) throw new Error('Retention Hold requires an approved independent review');\n if (command.authenticatedPrincipalId !== hold.ownerPrincipalId) throw new Error('Only the Hold owner can release it');\n if (hold.release) return state;\n if (hold.review.reviewerPrincipalId === hold.ownerPrincipalId\n && hold.review.decision.separationPolicy?.allowsSelfReview !== true) {\n throw new Error('Retention Hold release lacks an independent review');\n }\n const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'control');\n const proof = await this.#authorize(\n 'release_hold', 'data_steward', command, state.authority!, state,\n digest({ holdId: hold.id, placeAuthority: hold.placeDecision.authorityDigest,\n reviewAuthority: hold.review.decision.authorityDigest }),\n clock,\n );\n const next = deepFreeze<PayloadRetentionHold>({\n ...structuredClone(hold),\n release: {\n releasedBy: command.authenticatedPrincipalId,\n releasedAt: clock.now,\n request: proof.request,\n decision: proof.decision,\n },\n });\n await this.options.journal.append(command.projectId, command.objectId, state.sequence, [{\n type: 'hold.released', payload: { holdId: hold.id, hold: next },\n }]);\n return await this.read(command.projectId, command.objectId);\n }\n\n async #requestErasure(\n command: Parameters<PayloadLifecycleControlPort['requestSubjectErasure']>[0],\n signal: AbortSignal,\n ) {\n exactKeys(command, [\n 'version', 'operationId', 'authenticatedPrincipalId', 'tenantId', 'projectId', 'subjectRef',\n ], 'subject erasure command');\n header(command, signal);\n text(command.tenantId, 'subject erasure tenantId');\n text(command.projectId, 'subject erasure projectId');\n text(command.subjectRef, 'subject erasure subjectRef');\n const resolution = await this.options.subjects.resolve({\n tenantId: command.tenantId, projectId: command.projectId, subjectRef: command.subjectRef,\n }, signal);\n assertSubjectResolution(resolution, command.tenantId, command.projectId);\n const results: PayloadLifecycleState[] = [];\n for (const handle of resolution.handles) {\n signal.throwIfAborted();\n const state = await this.#registered(command.projectId, handle.objectId);\n if (state.authority!.handle.tenantId !== command.tenantId\n || !state.authority!.subjectDigests.includes(resolution.subjectDigest)) {\n throw new Error('Subject erasure resolution escaped its trusted object authority');\n }\n if (state.erasures.some(value => value.subjectDigest === resolution.subjectDigest)) {\n results.push(state);\n continue;\n }\n const clock = await this.#clock(command.operationId, command.projectId, handle.objectId, 'control');\n this.#assertNoActiveHold(state);\n const proof = await this.#authorize(\n 'request_subject_erasure', 'privacy', command, state.authority!, state,\n digest({ subjectDigest: resolution.subjectDigest, resolverAuthorityDigest: resolution.authorityDigest }),\n clock,\n );\n if (clock.now < state.authority!.retention.minimumRetainUntil) {\n const override = proof.decision.minimumRetentionOverride;\n if (!override || override.objectAuthorityDigest !== state.authority!.digest) {\n throw new Error('Subject erasure cannot override minimum retention without exact legal policy authority');\n }\n requiredDigest(override.policyDigest, 'minimum retention override policy digest');\n text(override.policyRef, 'minimum retention override policy ref');\n }\n const fact = deepFreeze<PayloadSubjectErasureFact>({\n subjectDigest: resolution.subjectDigest,\n requestedAt: clock.now,\n request: proof.request,\n decision: proof.decision,\n resolverAuthorityDigest: resolution.authorityDigest,\n });\n const drafts: PayloadLifecycleEventDraft[] = [{ type: 'erasure.requested', payload: fact }];\n if (Object.keys(state.purges).length === 0 && !state.purgeComplete) {\n drafts.push(...purgeDrafts(state, 'subject_erasure', clock.now, proof));\n }\n await this.options.journal.append(command.projectId, handle.objectId, state.sequence, drafts);\n results.push(await this.read(command.projectId, handle.objectId));\n }\n return deepFreeze(results);\n }\n\n async #evaluateRetention(\n command: Parameters<PayloadLifecycleControlPort['evaluateRetention']>[0],\n signal: AbortSignal,\n ) {\n exactKeys(command, [\n 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId',\n ], 'retention evaluation command');\n header(command, signal);\n const state = await this.#registered(command.projectId, command.objectId);\n if (state.purgeComplete || Object.keys(state.purges).length > 0) return state;\n const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'retention');\n if (clock.now < state.authority!.retention.deleteAfter) throw new Error('Payload retention has not expired');\n this.#assertNoActiveHold(state);\n const proof = await this.#authorize(\n 'schedule_retention_purge', 'data_steward', command, state.authority!, state,\n digest({ deleteAfter: state.authority!.retention.deleteAfter }), clock,\n );\n await this.options.journal.append(command.projectId, command.objectId, state.sequence,\n purgeDrafts(state, 'retention_expired', clock.now, proof));\n return await this.read(command.projectId, command.objectId);\n }\n\n async #reconcile(command: Parameters<PayloadLifecycleControlPort['reconcile']>[0], signal: AbortSignal) {\n exactKeys(command, [\n 'version', 'operationId', 'authenticatedPrincipalId', 'projectId', 'objectId', 'purgeId',\n ], 'purge reconciliation command');\n header(command, signal);\n const state = await this.#registered(command.projectId, command.objectId);\n const current = state.purges[command.purgeId];\n if (!current?.receipt || current.receipt.status === 'confirmed') {\n throw new Error('Payload purge is not eligible for reconciliation');\n }\n const clock = await this.#clock(command.operationId, command.projectId, command.objectId, 'reconciliation');\n const proof = await this.#authorize(\n 'reconcile_purge', 'data_steward', command, state.authority!, state,\n digest({ purgeId: command.purgeId, receiptDigest: current.receipt.digest }), clock,\n );\n const { digest: _currentDigest, ...currentDispatch } = current.dispatch;\n const retry = createPurgeDispatch({\n ...currentDispatch,\n attempt: current.dispatch.attempt + 1,\n fence: current.dispatch.fence + 1,\n requestedAt: clock.now,\n requestDigest: proof.request.digest,\n governance: proof,\n });\n await this.options.journal.append(command.projectId, command.objectId, state.sequence, [{\n type: 'purge.requested', payload: retry,\n }]);\n return await this.read(command.projectId, command.objectId);\n }\n\n async #dispatch(projectId: string, objectId: string, signal: AbortSignal) {\n signal.throwIfAborted();\n let state = await this.#registered(projectId, objectId);\n const pending = Object.values(state.purges)\n .filter(value => !value.receipt)\n .sort((left, right) => compareCanonicalWorkroomText(\n left.dispatch.location.id,\n right.dispatch.location.id,\n ));\n for (const item of pending) {\n const receipt = await this.options.deletion.purge(item.dispatch, signal);\n assertReceipt(receipt, item.dispatch);\n if (!await this.options.receipts.verify(receipt, item.dispatch)) {\n throw new Error('Payload purge receipt authority denied the observation');\n }\n const drafts: PayloadLifecycleEventDraft[] = [{ type: 'purge.receipt', payload: receipt }];\n if (receipt.status === 'confirmed' && item.dispatch.location.deletionMode === 'crypto_erase') {\n if (!receipt.cryptoEraseReceiptDigest) throw new Error('Crypto erase confirmation lacks a receipt digest');\n const body = deepFreeze({\n version: 1 as const,\n projectId,\n objectId,\n vaultObjectId: state.authority!.handle.vaultObjectId,\n objectAuthorityDigest: state.authority!.digest,\n locationManifestDigest: state.authority!.locations.digest,\n locationId: item.dispatch.location.id,\n cryptoEraseReceiptDigest: receipt.cryptoEraseReceiptDigest,\n erasedAt: receipt.observedAt,\n });\n drafts.push({ type: 'object.crypto_erased', payload: deepFreeze({ ...body, digest: digest(body) }) });\n }\n await this.options.journal.append(projectId, objectId, state.sequence, drafts);\n state = await this.read(projectId, objectId);\n }\n if (!state.purgeComplete\n && Object.keys(state.purges).length === state.authority!.locations.locations.length\n && Object.values(state.purges).every(value => value.receipt?.status === 'confirmed')) {\n const receipts = Object.values(state.purges).map(value => value.receipt!.digest).sort();\n const completedAt = Math.max(...Object.values(state.purges).map(value => value.receipt!.observedAt));\n const body = deepFreeze({\n version: 1 as const,\n projectId,\n objectId,\n objectAuthorityDigest: state.authority!.digest,\n locationManifestDigest: state.authority!.locations.digest,\n completedAt,\n receiptDigests: receipts,\n });\n await this.options.journal.append(projectId, objectId, state.sequence, [{\n type: 'object.purge_complete', payload: deepFreeze({ ...body, digest: digest(body) }),\n }]);\n state = await this.read(projectId, objectId);\n }\n return state;\n }\n\n async #drainProject(projectId: string, signal: AbortSignal) {\n text(projectId, 'Lifecycle Project id');\n const states: PayloadLifecycleState[] = [];\n for (const objectId of await this.options.journal.listObjectIds(projectId)) {\n signal.throwIfAborted();\n const state = await this.read(projectId, objectId);\n const purges = Object.values(state.purges);\n const hasPendingAttempt = purges.some(value => !value.receipt);\n const needsCompletionRecovery = purges.length === state.authority?.locations.locations.length\n && purges.length > 0\n && purges.every(value => value.receipt?.status === 'confirmed');\n if (state.purgeComplete || (!hasPendingAttempt && !needsCompletionRecovery)) continue;\n states.push(await this.#dispatch(projectId, objectId, signal));\n }\n return deepFreeze(states);\n }\n\n async #registered(projectId: string, objectId: string) {\n const state = await this.read(projectId, objectId);\n if (!state.authority) throw new Error('Payload Lifecycle object is not registered');\n return state;\n }\n\n async #clock(\n operationId: string,\n projectId: string,\n objectId: string,\n purpose: 'control' | 'retention' | 'reconciliation',\n ) {\n const value = await this.options.clock.read({ operationId, projectId, objectId, purpose });\n if (!value) throw new Error('Payload Lifecycle Kernel clock authority is unavailable');\n const canonical = createPayloadLifecycleClockSnapshot(value);\n if (canonicalWorkroomJson(canonical) !== canonicalWorkroomJson(value)) {\n throw new Error('Payload Lifecycle Kernel clock digest drift');\n }\n return canonical;\n }\n\n async #authorize(\n action: PayloadLifecycleAuthorityAction,\n requiredRole: PayloadLifecycleRole,\n command: Readonly<{ operationId: string; authenticatedPrincipalId: string }>,\n object: PayloadLifecycleObjectAuthority,\n state: PayloadLifecycleState,\n candidateDigest: string,\n clock: PayloadLifecycleClockSnapshot,\n ) {\n const body = deepFreeze({\n version: 1 as const,\n action,\n requiredRole,\n operationId: command.operationId,\n authenticatedPrincipalId: command.authenticatedPrincipalId,\n tenantId: object.handle.tenantId,\n projectId: object.handle.projectId,\n objectId: object.handle.objectId,\n objectAuthorityDigest: object.digest,\n currentStateDigest: state.digest,\n candidateDigest: requiredDigest(candidateDigest, 'Lifecycle candidate digest'),\n clock,\n });\n const request = deepFreeze<PayloadLifecycleAuthorityRequest>({ ...body, digest: digest(body) });\n const result = await this.options.authority.authorize(request);\n if (!result.approved) {\n if (result.requestDigest !== request.digest) throw new Error('Lifecycle authority denial echo mismatch');\n throw new Error(`Lifecycle authority denied: ${result.reason}`);\n }\n if (result.requestDigest !== request.digest\n || result.principalId !== request.authenticatedPrincipalId\n || result.role !== requiredRole\n || !await this.options.authority.verify(request, result)) {\n throw new Error('Lifecycle authority exact decision echo mismatch');\n }\n requiredDigest(result.authorityDigest, 'Lifecycle authority digest');\n text(result.decisionId, 'Lifecycle decision id');\n nonNegative(result.decidedAt, 'Lifecycle decision timestamp');\n return deepFreeze({ request, decision: structuredClone(result) });\n }\n\n #assertNoActiveHold(state: PayloadLifecycleState): void {\n if (Object.values(state.holds).some(hold => !hold.release)) {\n throw new Error('Payload Lifecycle purge is blocked by an active Retention Hold');\n }\n }\n}\n\nfunction purgeDrafts(\n state: PayloadLifecycleState,\n reason: PayloadPurgeDispatch['reason'],\n requestedAt: number,\n governance: PayloadLifecycleGovernanceProof,\n): PayloadLifecycleEventDraft[] {\n return state.authority!.locations.locations.map(location => ({\n type: 'purge.requested' as const,\n payload: createPurgeDispatch({\n id: purgeId(state.projectId, state.objectId, location.id),\n reason,\n objectAuthorityDigest: state.authority!.digest,\n locationManifestDigest: state.authority!.locations.digest,\n location,\n attempt: 1,\n fence: 1,\n requestedAt,\n requestDigest: governance.request.digest,\n governance,\n }),\n }));\n}\n\nfunction createPurgeDispatch(input: Omit<PayloadPurgeDispatch, 'digest'>): PayloadPurgeDispatch {\n text(input.id, 'Purge id');\n positive(input.attempt, 'Purge attempt');\n positive(input.fence, 'Purge fence');\n nonNegative(input.requestedAt, 'Purge requestedAt');\n requiredDigest(input.objectAuthorityDigest, 'Purge object authority digest');\n requiredDigest(input.locationManifestDigest, 'Purge Location Manifest digest');\n requiredDigest(input.location.authorityDigest, 'Purge location authority digest');\n requiredDigest(input.requestDigest, 'Purge request digest');\n if (input.requestDigest !== input.governance.request.digest) {\n throw new Error('Purge governance request binding is invalid');\n }\n const body = deepFreeze(structuredClone(input));\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nfunction purgeId(projectId: string, objectId: string, locationId: string): string {\n return `purge:${digest({ projectId, objectId, locationId })}`;\n}\n\nfunction assertReceipt(receipt: PayloadPurgeReceipt, dispatch: PayloadPurgeDispatch): void {\n const { digest: supplied, ...body } = receipt;\n if (receipt.version !== 1 || supplied !== digest(body) || !receiptMatchesDispatch(receipt, dispatch)\n || !['confirmed', 'failed', 'outcome_unknown'].includes(receipt.status)\n || !Number.isSafeInteger(receipt.observedAt) || receipt.observedAt < dispatch.requestedAt) {\n throw new Error('Payload purge receipt is malformed or stale');\n }\n text(receipt.authenticatedBy, 'Purge receipt authority');\n requiredDigest(receipt.authorityDigest, 'Purge receipt authority digest');\n if (receipt.status === 'confirmed' && receipt.reasonCode !== undefined) {\n throw new Error('Confirmed Payload purge receipt cannot carry a failure reason');\n }\n if (receipt.status !== 'confirmed' && receipt.reasonCode === undefined) {\n throw new Error('Unconfirmed Payload purge receipt requires a bounded reason code');\n }\n if (receipt.reasonCode !== undefined && ![\n 'unsupported', 'provider_denied', 'transient_failure', 'timeout', 'unknown_external_copy',\n ].includes(receipt.reasonCode)) {\n throw new Error('Payload purge receipt reason code is invalid');\n }\n if (receipt.cryptoEraseReceiptDigest !== undefined) {\n requiredDigest(receipt.cryptoEraseReceiptDigest, 'Crypto erase receipt digest');\n }\n if (dispatch.location.deletionMode === 'crypto_erase') {\n if (receipt.status === 'confirmed' && receipt.cryptoEraseReceiptDigest === undefined) {\n throw new Error('Confirmed crypto erase receipt lacks its exact key-destruction proof');\n }\n if (receipt.status !== 'confirmed' && receipt.cryptoEraseReceiptDigest !== undefined) {\n throw new Error('Unconfirmed crypto erase receipt cannot claim key destruction');\n }\n } else if (receipt.cryptoEraseReceiptDigest !== undefined) {\n throw new Error('Non-crypto purge receipt cannot claim key destruction');\n }\n}\n\nfunction receiptMatchesDispatch(receipt: PayloadPurgeReceipt, dispatch: PayloadPurgeDispatch): boolean {\n return receipt.purgeId === dispatch.id\n && receipt.locationId === dispatch.location.id\n && receipt.locationAuthorityDigest === dispatch.location.authorityDigest\n && receipt.locationManifestDigest === dispatch.locationManifestDigest\n && receipt.attempt === dispatch.attempt\n && receipt.fence === dispatch.fence\n && receipt.requestDigest === dispatch.requestDigest;\n}\n\nfunction assertGovernanceBinding(\n proof: PayloadLifecycleGovernanceProof,\n object: PayloadLifecycleObjectAuthority,\n exactAction?: PayloadLifecycleAuthorityAction,\n): void {\n if (!proof || proof.request.digest !== digestWithoutDigest(proof.request)\n || canonicalWorkroomJson(createPayloadLifecycleClockSnapshot(proof.request.clock))\n !== canonicalWorkroomJson(proof.request.clock)\n || proof.decision.requestDigest !== proof.request.digest\n || proof.decision.principalId !== proof.request.authenticatedPrincipalId\n || proof.decision.role !== proof.request.requiredRole\n || proof.request.tenantId !== object.handle.tenantId\n || proof.request.projectId !== object.handle.projectId\n || proof.request.objectId !== object.handle.objectId\n || proof.request.objectAuthorityDigest !== object.digest\n || proof.request.requiredRole !== roleForAction(proof.request.action)\n || (exactAction !== undefined && proof.request.action !== exactAction)) {\n throw new Error('Payload Lifecycle governance proof binding is invalid');\n }\n requiredDigest(proof.decision.authorityDigest, 'Lifecycle authority digest');\n if (proof.decision.separationPolicy) {\n requiredDigest(proof.decision.separationPolicy.policyDigest, 'separation policy digest');\n }\n if (proof.decision.minimumRetentionOverride) {\n text(proof.decision.minimumRetentionOverride.policyRef, 'minimum retention override policy ref');\n requiredDigest(proof.decision.minimumRetentionOverride.policyDigest, 'minimum retention override policy digest');\n requiredDigest(\n proof.decision.minimumRetentionOverride.objectAuthorityDigest,\n 'minimum retention override object authority digest',\n );\n }\n}\n\nfunction assertCandidate(proof: PayloadLifecycleGovernanceProof, candidateDigest: string): void {\n if (proof.request.candidateDigest !== candidateDigest) {\n throw new Error('Payload Lifecycle governance candidate binding is stale');\n }\n}\n\nfunction roleForAction(action: PayloadLifecycleAuthorityAction): PayloadLifecycleRole {\n switch (action) {\n case 'request_subject_erasure': return 'privacy';\n case 'review_hold': return 'compliance';\n case 'register_object':\n case 'place_hold':\n case 'release_hold':\n case 'schedule_retention_purge':\n case 'reconcile_purge':\n return 'data_steward';\n }\n}\n\nfunction eventAuthorityProofs(event: PayloadLifecycleEvent): readonly Readonly<{\n request: PayloadLifecycleAuthorityRequest;\n decision: PayloadLifecycleAuthorityDecision;\n}>[] {\n switch (event.type) {\n case 'object.registered': return [event.payload.governance];\n case 'hold.placed': return [{ request: event.payload.placeRequest, decision: event.payload.placeDecision }];\n case 'hold.reviewed': return event.payload.hold.review\n ? [{ request: event.payload.hold.review.request, decision: event.payload.hold.review.decision }]\n : [];\n case 'hold.released': return event.payload.hold.release\n ? [{ request: event.payload.hold.release.request, decision: event.payload.hold.release.decision }]\n : [];\n case 'erasure.requested': return [{ request: event.payload.request, decision: event.payload.decision }];\n case 'purge.requested': return [event.payload.governance];\n default: return [];\n }\n}\n\nfunction assertEvent(event: PayloadLifecycleEvent, projectId: string, objectId: string, sequence: number): void {\n if (event.version !== 1 || event.projectId !== projectId || event.objectId !== objectId\n || event.sequence !== sequence) throw new Error('Payload Lifecycle event identity/sequence is invalid');\n const { digest: supplied, ...body } = event;\n if (supplied !== digest(body)) throw new Error('Payload Lifecycle event digest mismatch');\n}\n\nfunction digestWithoutDigest(value: Readonly<{ digest: string }>): string {\n const { digest: _supplied, ...body } = value;\n return digest(body);\n}\n\nfunction assertSubjectResolution(\n value: PayloadSubjectErasureResolution | undefined,\n tenantId: string,\n projectId: string,\n): asserts value is PayloadSubjectErasureResolution {\n if (!value || value.version !== 1 || value.tenantId !== tenantId || value.projectId !== projectId\n || !Array.isArray(value.handles) || value.handles.length === 0) {\n throw new Error('Trusted subject erasure resolution is unavailable');\n }\n requiredDigest(value.subjectDigest, 'subject digest');\n requiredDigest(value.authorityDigest, 'subject resolver authority digest');\n const { digest: supplied, ...body } = value;\n if (supplied !== digest(body)) throw new Error('Subject erasure resolution digest mismatch');\n value.handles.forEach(assertHandle);\n}\n\nfunction assertHandle(value: PayloadVaultObjectHandle): void {\n if (!value || value.version !== 1) throw new Error('Payload Vault handle is invalid');\n text(value.vaultObjectId, 'Vault object id');\n text(value.objectId, 'Payload object id');\n text(value.tenantId, 'Payload tenant id');\n text(value.projectId, 'Payload Project id');\n requiredDigest(value.payloadHash, 'Payload hash');\n requiredDigest(value.descriptorDigest, 'Payload Descriptor digest');\n requiredDigest(value.locationManifestDigest, 'Payload Location Manifest digest');\n}\n\nfunction header(\n command: Readonly<{ version: 1; operationId: string; authenticatedPrincipalId: string }>,\n signal: AbortSignal,\n): void {\n signal.throwIfAborted();\n if (command.version !== 1) throw new Error('Payload Lifecycle command version is invalid');\n text(command.operationId, 'Payload Lifecycle operation id');\n text(command.authenticatedPrincipalId, 'Payload Lifecycle authenticated principal');\n}\n\nfunction exactKeys(value: object, keys: readonly string[], label: string): void {\n const allowed = new Set(keys);\n for (const key of Object.keys(value)) {\n if (!allowed.has(key)) throw new Error(`Payload Lifecycle ${label} contains forbidden field ${key}`);\n }\n for (const key of keys) {\n if (!(key in value)) throw new Error(`Payload Lifecycle ${label} is missing ${key}`);\n }\n}\n\nfunction uniqueDigests(values: readonly string[], label: string): readonly string[] {\n if (!Array.isArray(values)) throw new Error(`${label} list is invalid`);\n const normalized = [...new Set(values.map(value => requiredDigest(value, label)))].sort();\n if (normalized.length !== values.length || canonicalWorkroomJson(normalized) !== canonicalWorkroomJson(values)) {\n throw new Error(`${label} list is non-canonical`);\n }\n return deepFreeze(normalized);\n}\n\nfunction text(value: string, label: string): string {\n if (typeof value !== 'string' || !value.trim() || value !== value.trim()\n || value.length > 512 || [...value].some(character => {\n const code = character.codePointAt(0)!;\n return code <= 31 || code === 127;\n })) {\n throw new Error(`${label} is invalid`);\n }\n return value;\n}\n\nfunction requiredDigest(value: string, label: string): string {\n if (!/^sha256:[a-f0-9]{64}$/u.test(value)) throw new Error(`${label} is invalid`);\n return value;\n}\n\nfunction positive(value: number, label: string): number {\n if (!Number.isSafeInteger(value) || value < 1) throw new Error(`${label} must be positive`);\n return value;\n}\n\nfunction nonNegative(value: number, label: string): number {\n if (!Number.isSafeInteger(value) || value < 0) throw new Error(`${label} must be non-negative`);\n return value;\n}\n"]}
|
|
@@ -252,4 +252,3 @@ export declare class PayloadVaultSourceRetirementGate {
|
|
|
252
252
|
export declare function definePayloadVaultRetirementDatabaseModel(database: Readonly<{
|
|
253
253
|
define(name: string, definition: unknown): void;
|
|
254
254
|
}>): void;
|
|
255
|
-
//# sourceMappingURL=payload-vault-storage-handoff.d.ts.map
|