@agent-teams/engineering-foundation 0.16.1 → 0.17.0-rc.1
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/README.md +11 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/changesets-prerelease-state.d.ts +10 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/changesets-prerelease-state.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/changesets-prerelease-state.js +69 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/changesets-prerelease-state.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts +3 -2
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js +66 -13
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js +5 -2
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts +2 -0
- package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts +3 -2
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js +40 -5
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js.map +1 -1
- package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile-v2.d.ts +26 -0
- package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile-v2.d.ts.map +1 -0
- package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile-v2.js +74 -0
- package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile-v2.js.map +1 -0
- package/dist/document-authoring/adapters/node/node-authoring-profile-reader-v2.d.ts +9 -0
- package/dist/document-authoring/adapters/node/node-authoring-profile-reader-v2.d.ts.map +1 -0
- package/dist/document-authoring/adapters/node/node-authoring-profile-reader-v2.js +41 -0
- package/dist/document-authoring/adapters/node/node-authoring-profile-reader-v2.js.map +1 -0
- package/dist/document-authoring/adapters/node/node-document-contract-validator.d.ts +1 -1
- package/dist/document-authoring/adapters/node/node-document-contract-validator.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-contract-validator.js +1 -1
- package/dist/document-authoring/adapters/node/node-document-contract-validator.js.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-file-state.d.ts +1 -1
- package/dist/document-authoring/adapters/node/node-document-file-state.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-file-state.js +17 -1
- package/dist/document-authoring/adapters/node/node-document-file-state.js.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-metadata-sidecar-reader.d.ts +9 -0
- package/dist/document-authoring/adapters/node/node-document-metadata-sidecar-reader.d.ts.map +1 -0
- package/dist/document-authoring/adapters/node/node-document-metadata-sidecar-reader.js +87 -0
- package/dist/document-authoring/adapters/node/node-document-metadata-sidecar-reader.js.map +1 -0
- package/dist/document-authoring/adapters/node/node-document-parent-materializer.d.ts +39 -0
- package/dist/document-authoring/adapters/node/node-document-parent-materializer.d.ts.map +1 -0
- package/dist/document-authoring/adapters/node/node-document-parent-materializer.js +270 -0
- package/dist/document-authoring/adapters/node/node-document-parent-materializer.js.map +1 -0
- package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.js +11 -3
- package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.js.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-planning-state-reader.d.ts +1 -0
- package/dist/document-authoring/adapters/node/node-document-planning-state-reader.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-planning-state-reader.js +18 -1
- package/dist/document-authoring/adapters/node/node-document-planning-state-reader.js.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-publisher.d.ts +1 -1
- package/dist/document-authoring/adapters/node/node-document-publisher.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-publisher.js +102 -11
- package/dist/document-authoring/adapters/node/node-document-publisher.js.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-reachability-projector.d.ts +1 -1
- package/dist/document-authoring/adapters/node/node-document-reachability-projector.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-structure-verifier.d.ts +1 -1
- package/dist/document-authoring/adapters/node/node-document-structure-verifier.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-transaction-coordinator.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-document-transaction-coordinator.js +1 -1
- package/dist/document-authoring/adapters/node/node-document-transaction-coordinator.js.map +1 -1
- package/dist/document-authoring/adapters/node/node-metadata-instance-validator.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/node-metadata-instance-validator.js +6 -0
- package/dist/document-authoring/adapters/node/node-metadata-instance-validator.js.map +1 -1
- package/dist/document-authoring/adapters/node/node-path-authority.d.ts +53 -0
- package/dist/document-authoring/adapters/node/node-path-authority.d.ts.map +1 -0
- package/dist/document-authoring/adapters/node/node-path-authority.js +186 -0
- package/dist/document-authoring/adapters/node/node-path-authority.js.map +1 -0
- package/dist/document-authoring/adapters/node/recapture-document-publication-paths.d.ts +2 -1
- package/dist/document-authoring/adapters/node/recapture-document-publication-paths.d.ts.map +1 -1
- package/dist/document-authoring/adapters/node/recapture-document-publication-paths.js +21 -77
- package/dist/document-authoring/adapters/node/recapture-document-publication-paths.js.map +1 -1
- package/dist/document-authoring/application/model/document-authoring-profile-description.d.ts +53 -0
- package/dist/document-authoring/application/model/document-authoring-profile-description.d.ts.map +1 -0
- package/dist/document-authoring/application/model/document-authoring-profile-description.js +2 -0
- package/dist/document-authoring/application/model/document-authoring-profile-description.js.map +1 -0
- package/dist/document-authoring/application/model/document-catalog.d.ts +29 -0
- package/dist/document-authoring/application/model/document-catalog.d.ts.map +1 -1
- package/dist/document-authoring/application/model/document-find.d.ts +5 -1
- package/dist/document-authoring/application/model/document-find.d.ts.map +1 -1
- package/dist/document-authoring/application/model/document-parent-materialization.d.ts +26 -0
- package/dist/document-authoring/application/model/document-parent-materialization.d.ts.map +1 -0
- package/dist/document-authoring/application/model/document-parent-materialization.js +2 -0
- package/dist/document-authoring/application/model/document-parent-materialization.js.map +1 -0
- package/dist/document-authoring/application/model/document-planning.d.ts +29 -2
- package/dist/document-authoring/application/model/document-planning.d.ts.map +1 -1
- package/dist/document-authoring/application/model/document-receipt.d.ts +28 -1
- package/dist/document-authoring/application/model/document-receipt.d.ts.map +1 -1
- package/dist/document-authoring/application/model/document-transaction-inspection.d.ts +23 -0
- package/dist/document-authoring/application/model/document-transaction-inspection.d.ts.map +1 -1
- package/dist/document-authoring/application/model/document-transaction.d.ts +91 -3
- package/dist/document-authoring/application/model/document-transaction.d.ts.map +1 -1
- package/dist/document-authoring/application/policies/assert-artifact-owner-allowed.d.ts +3 -0
- package/dist/document-authoring/application/policies/assert-artifact-owner-allowed.d.ts.map +1 -0
- package/dist/document-authoring/application/policies/assert-artifact-owner-allowed.js +8 -0
- package/dist/document-authoring/application/policies/assert-artifact-owner-allowed.js.map +1 -0
- package/dist/document-authoring/application/policies/assert-v2-planning-profile.d.ts +3 -0
- package/dist/document-authoring/application/policies/assert-v2-planning-profile.d.ts.map +1 -0
- package/dist/document-authoring/application/policies/assert-v2-planning-profile.js +7 -0
- package/dist/document-authoring/application/policies/assert-v2-planning-profile.js.map +1 -0
- package/dist/document-authoring/application/policies/document-authoring-semantic-digests.d.ts +30 -0
- package/dist/document-authoring/application/policies/document-authoring-semantic-digests.d.ts.map +1 -0
- package/dist/document-authoring/application/policies/document-authoring-semantic-digests.js +157 -0
- package/dist/document-authoring/application/policies/document-authoring-semantic-digests.js.map +1 -0
- package/dist/document-authoring/application/policies/document-catalog-authority-stability.d.ts +12 -0
- package/dist/document-authoring/application/policies/document-catalog-authority-stability.d.ts.map +1 -0
- package/dist/document-authoring/application/policies/document-catalog-authority-stability.js +16 -0
- package/dist/document-authoring/application/policies/document-catalog-authority-stability.js.map +1 -0
- package/dist/document-authoring/application/policies/document-catalog-sidecar.d.ts +10 -0
- package/dist/document-authoring/application/policies/document-catalog-sidecar.d.ts.map +1 -0
- package/dist/document-authoring/application/policies/document-catalog-sidecar.js +66 -0
- package/dist/document-authoring/application/policies/document-catalog-sidecar.js.map +1 -0
- package/dist/document-authoring/application/policies/document-command-projection.d.ts +1 -1
- package/dist/document-authoring/application/policies/document-command-projection.d.ts.map +1 -1
- package/dist/document-authoring/application/policies/document-contract-digests.d.ts.map +1 -1
- package/dist/document-authoring/application/policies/document-contract-digests.js +61 -7
- package/dist/document-authoring/application/policies/document-contract-digests.js.map +1 -1
- package/dist/document-authoring/application/policies/document-receipt-policy.d.ts +3 -3
- package/dist/document-authoring/application/policies/document-receipt-policy.d.ts.map +1 -1
- package/dist/document-authoring/application/policies/document-receipt-policy.js +43 -4
- package/dist/document-authoring/application/policies/document-receipt-policy.js.map +1 -1
- package/dist/document-authoring/application/policies/document-transaction-digests.d.ts +2 -2
- package/dist/document-authoring/application/policies/document-transaction-digests.d.ts.map +1 -1
- package/dist/document-authoring/application/policies/document-transaction-digests.js.map +1 -1
- package/dist/document-authoring/application/policies/document-transaction-envelope-body.d.ts +28 -0
- package/dist/document-authoring/application/policies/document-transaction-envelope-body.d.ts.map +1 -0
- package/dist/document-authoring/application/policies/document-transaction-envelope-body.js +140 -0
- package/dist/document-authoring/application/policies/document-transaction-envelope-body.js.map +1 -0
- package/dist/document-authoring/application/policies/document-transaction-envelope-policy.d.ts.map +1 -1
- package/dist/document-authoring/application/policies/document-transaction-envelope-policy.js +47 -6
- package/dist/document-authoring/application/policies/document-transaction-envelope-policy.js.map +1 -1
- package/dist/document-authoring/application/policies/inspect-catalog-document.d.ts +8 -1
- package/dist/document-authoring/application/policies/inspect-catalog-document.d.ts.map +1 -1
- package/dist/document-authoring/application/policies/inspect-catalog-document.js +48 -0
- package/dist/document-authoring/application/policies/inspect-catalog-document.js.map +1 -1
- package/dist/document-authoring/application/policies/project-catalog-metadata.d.ts +7 -0
- package/dist/document-authoring/application/policies/project-catalog-metadata.d.ts.map +1 -0
- package/dist/document-authoring/application/policies/project-catalog-metadata.js +165 -0
- package/dist/document-authoring/application/policies/project-catalog-metadata.js.map +1 -0
- package/dist/document-authoring/application/policies/same-document-catalog-snapshot.d.ts +3 -0
- package/dist/document-authoring/application/policies/same-document-catalog-snapshot.d.ts.map +1 -0
- package/dist/document-authoring/application/policies/same-document-catalog-snapshot.js +24 -0
- package/dist/document-authoring/application/policies/same-document-catalog-snapshot.js.map +1 -0
- package/dist/document-authoring/application/ports/authoring-profile-reader.d.ts +10 -0
- package/dist/document-authoring/application/ports/authoring-profile-reader.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/document-authority-recompiler.d.ts +1 -1
- package/dist/document-authoring/application/ports/document-authority-recompiler.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/document-contract-validator.d.ts +1 -1
- package/dist/document-authoring/application/ports/document-contract-validator.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/document-file-state.d.ts +1 -1
- package/dist/document-authoring/application/ports/document-file-state.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/document-metadata-sidecar-reader.d.ts +13 -0
- package/dist/document-authoring/application/ports/document-metadata-sidecar-reader.d.ts.map +1 -0
- package/dist/document-authoring/application/ports/document-metadata-sidecar-reader.js +2 -0
- package/dist/document-authoring/application/ports/document-metadata-sidecar-reader.js.map +1 -0
- package/dist/document-authoring/application/ports/document-parent-materializer.d.ts +24 -0
- package/dist/document-authoring/application/ports/document-parent-materializer.d.ts.map +1 -0
- package/dist/document-authoring/application/ports/document-parent-materializer.js +2 -0
- package/dist/document-authoring/application/ports/document-parent-materializer.js.map +1 -0
- package/dist/document-authoring/application/ports/document-planning-state-reader.d.ts +1 -0
- package/dist/document-authoring/application/ports/document-planning-state-reader.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/document-publisher.d.ts +1 -1
- package/dist/document-authoring/application/ports/document-publisher.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/document-reachability-projector.d.ts +1 -1
- package/dist/document-authoring/application/ports/document-reachability-projector.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/document-structure-verifier.d.ts +1 -1
- package/dist/document-authoring/application/ports/document-structure-verifier.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/documentation-catalog-reader-v2.d.ts +11 -0
- package/dist/document-authoring/application/ports/documentation-catalog-reader-v2.d.ts.map +1 -0
- package/dist/document-authoring/application/ports/documentation-catalog-reader-v2.js +2 -0
- package/dist/document-authoring/application/ports/documentation-catalog-reader-v2.js.map +1 -0
- package/dist/document-authoring/application/ports/documentation-catalog-reader.d.ts +2 -2
- package/dist/document-authoring/application/ports/documentation-catalog-reader.d.ts.map +1 -1
- package/dist/document-authoring/application/ports/documentation-search-catalog-reader-v2.d.ts +9 -0
- package/dist/document-authoring/application/ports/documentation-search-catalog-reader-v2.d.ts.map +1 -0
- package/dist/document-authoring/application/ports/documentation-search-catalog-reader-v2.js +2 -0
- package/dist/document-authoring/application/ports/documentation-search-catalog-reader-v2.js.map +1 -0
- package/dist/document-authoring/application/ports/metadata-instance-validator.d.ts +1 -0
- package/dist/document-authoring/application/ports/metadata-instance-validator.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/apply-document-plan.d.ts +1 -1
- package/dist/document-authoring/application/use-cases/apply-document-plan.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/apply-document-plan.js +150 -54
- package/dist/document-authoring/application/use-cases/apply-document-plan.js.map +1 -1
- package/dist/document-authoring/application/use-cases/apply-document-recovery-receipt.d.ts +14 -0
- package/dist/document-authoring/application/use-cases/apply-document-recovery-receipt.d.ts.map +1 -0
- package/dist/document-authoring/application/use-cases/apply-document-recovery-receipt.js +17 -0
- package/dist/document-authoring/application/use-cases/apply-document-recovery-receipt.js.map +1 -0
- package/dist/document-authoring/application/use-cases/build-documentation-catalog.d.ts +18 -1
- package/dist/document-authoring/application/use-cases/build-documentation-catalog.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/build-documentation-catalog.js +81 -26
- package/dist/document-authoring/application/use-cases/build-documentation-catalog.js.map +1 -1
- package/dist/document-authoring/application/use-cases/compile-document-plan.d.ts +1 -1
- package/dist/document-authoring/application/use-cases/compile-document-plan.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/compile-document-plan.js +50 -6
- package/dist/document-authoring/application/use-cases/compile-document-plan.js.map +1 -1
- package/dist/document-authoring/application/use-cases/document-parent-materialization-continuation.d.ts +3 -0
- package/dist/document-authoring/application/use-cases/document-parent-materialization-continuation.d.ts.map +1 -0
- package/dist/document-authoring/application/use-cases/document-parent-materialization-continuation.js +79 -0
- package/dist/document-authoring/application/use-cases/document-parent-materialization-continuation.js.map +1 -0
- package/dist/document-authoring/application/use-cases/document-transaction-continuation.d.ts +18 -13
- package/dist/document-authoring/application/use-cases/document-transaction-continuation.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/document-transaction-continuation.js +88 -165
- package/dist/document-authoring/application/use-cases/document-transaction-continuation.js.map +1 -1
- package/dist/document-authoring/application/use-cases/document-transaction-receipts.d.ts +21 -0
- package/dist/document-authoring/application/use-cases/document-transaction-receipts.d.ts.map +1 -0
- package/dist/document-authoring/application/use-cases/document-transaction-receipts.js +180 -0
- package/dist/document-authoring/application/use-cases/document-transaction-receipts.js.map +1 -0
- package/dist/document-authoring/application/use-cases/find-documents.d.ts +7 -1
- package/dist/document-authoring/application/use-cases/find-documents.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/find-documents.js +19 -0
- package/dist/document-authoring/application/use-cases/find-documents.js.map +1 -1
- package/dist/document-authoring/application/use-cases/load-v2-profile-description.d.ts +15 -0
- package/dist/document-authoring/application/use-cases/load-v2-profile-description.d.ts.map +1 -0
- package/dist/document-authoring/application/use-cases/load-v2-profile-description.js +12 -0
- package/dist/document-authoring/application/use-cases/load-v2-profile-description.js.map +1 -0
- package/dist/document-authoring/application/use-cases/plan-documentation-document.d.ts +12 -4
- package/dist/document-authoring/application/use-cases/plan-documentation-document.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/plan-documentation-document.js +25 -28
- package/dist/document-authoring/application/use-cases/plan-documentation-document.js.map +1 -1
- package/dist/document-authoring/application/use-cases/recapture-directory-receipt-evidence.d.ts +8 -0
- package/dist/document-authoring/application/use-cases/recapture-directory-receipt-evidence.d.ts.map +1 -0
- package/dist/document-authoring/application/use-cases/recapture-directory-receipt-evidence.js +32 -0
- package/dist/document-authoring/application/use-cases/recapture-directory-receipt-evidence.js.map +1 -0
- package/dist/document-authoring/application/use-cases/recover-document-transaction.d.ts +1 -1
- package/dist/document-authoring/application/use-cases/recover-document-transaction.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/recover-document-transaction.js +148 -20
- package/dist/document-authoring/application/use-cases/recover-document-transaction.js.map +1 -1
- package/dist/document-authoring/application/use-cases/run-document-doctor.d.ts +2 -2
- package/dist/document-authoring/application/use-cases/run-document-doctor.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/run-document-doctor.js.map +1 -1
- package/dist/document-authoring/application/use-cases/run-document-new.d.ts +4 -4
- package/dist/document-authoring/application/use-cases/run-document-new.d.ts.map +1 -1
- package/dist/document-authoring/application/use-cases/run-document-new.js.map +1 -1
- package/dist/document-authoring/application/use-cases/run-document-recover.d.ts +3 -3
- package/dist/document-authoring/application/use-cases/run-document-recover.d.ts.map +1 -1
- package/dist/document-authoring/composition/describe-document-authoring-profile-v2.d.ts +8 -0
- package/dist/document-authoring/composition/describe-document-authoring-profile-v2.d.ts.map +1 -0
- package/dist/document-authoring/composition/describe-document-authoring-profile-v2.js +183 -0
- package/dist/document-authoring/composition/describe-document-authoring-profile-v2.js.map +1 -0
- package/dist/document-authoring/composition/inspect-document-authoring-environment-v1.d.ts +7 -0
- package/dist/document-authoring/composition/inspect-document-authoring-environment-v1.d.ts.map +1 -0
- package/dist/document-authoring/composition/inspect-document-authoring-environment-v1.js +10 -0
- package/dist/document-authoring/composition/inspect-document-authoring-environment-v1.js.map +1 -0
- package/dist/document-authoring/composition/inspect-document-transaction.d.ts +3 -1
- package/dist/document-authoring/composition/inspect-document-transaction.d.ts.map +1 -1
- package/dist/document-authoring/composition/inspect-document-transaction.js +50 -13
- package/dist/document-authoring/composition/inspect-document-transaction.js.map +1 -1
- package/dist/document-authoring/composition/node-document-authority-recompiler.d.ts +1 -1
- package/dist/document-authoring/composition/node-document-authority-recompiler.d.ts.map +1 -1
- package/dist/document-authoring/composition/node-document-authority-recompiler.js +22 -3
- package/dist/document-authoring/composition/node-document-authority-recompiler.js.map +1 -1
- package/dist/document-authoring/composition/node-document-commands.js +2 -2
- package/dist/document-authoring/composition/node-document-planning.d.ts +2 -2
- package/dist/document-authoring/composition/node-document-planning.d.ts.map +1 -1
- package/dist/document-authoring/composition/node-document-planning.js +28 -7
- package/dist/document-authoring/composition/node-document-planning.js.map +1 -1
- package/dist/document-authoring/composition/node-document-writing-private.d.ts +1 -1
- package/dist/document-authoring/composition/node-document-writing-private.d.ts.map +1 -1
- package/dist/document-authoring/composition/node-document-writing-private.js +5 -3
- package/dist/document-authoring/composition/node-document-writing-private.js.map +1 -1
- package/dist/document-authoring/composition/node-document-writing.d.ts +1 -1
- package/dist/document-authoring/composition/node-document-writing.d.ts.map +1 -1
- package/dist/document-authoring/index.d.ts +29 -8
- package/dist/document-authoring/index.d.ts.map +1 -1
- package/dist/document-authoring/index.js +50 -3
- package/dist/document-authoring/index.js.map +1 -1
- package/dist/document-authoring/qualification/index.d.ts +22 -0
- package/dist/document-authoring/qualification/index.d.ts.map +1 -0
- package/dist/document-authoring/qualification/index.js +131 -0
- package/dist/document-authoring/qualification/index.js.map +1 -0
- package/dist/foundation-state-contract.d.ts +1 -0
- package/dist/foundation-state-contract.d.ts.map +1 -1
- package/dist/foundation-state-contract.js +1 -0
- package/dist/foundation-state-contract.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/local-mode/inspection.d.ts.map +1 -1
- package/dist/local-mode/inspection.js +12 -1
- package/dist/local-mode/inspection.js.map +1 -1
- package/dist/mutation/index.d.ts +11 -0
- package/dist/mutation/index.d.ts.map +1 -0
- package/dist/mutation/index.js +5 -0
- package/dist/mutation/index.js.map +1 -0
- package/dist/package-self-check.d.ts +1 -1
- package/dist/package-self-check.d.ts.map +1 -1
- package/dist/package-self-check.js +12 -0
- package/dist/package-self-check.js.map +1 -1
- package/dist/public-api-surface.d.ts +1 -0
- package/dist/public-api-surface.d.ts.map +1 -1
- package/dist/public-api-surface.js +1 -0
- package/dist/public-api-surface.js.map +1 -1
- package/dist/repository-mutation/adapters/node/node-bounded-regular-file.d.ts +2 -0
- package/dist/repository-mutation/adapters/node/node-bounded-regular-file.d.ts.map +1 -1
- package/dist/repository-mutation/adapters/node/node-bounded-regular-file.js +31 -23
- package/dist/repository-mutation/adapters/node/node-bounded-regular-file.js.map +1 -1
- package/dist/repository-mutation/adapters/node/node-cleanup-owned-temporary.d.ts.map +1 -1
- package/dist/repository-mutation/adapters/node/node-cleanup-owned-temporary.js +21 -0
- package/dist/repository-mutation/adapters/node/node-cleanup-owned-temporary.js.map +1 -1
- package/dist/repository-mutation/adapters/node/node-create-and-bind-directory.d.ts +15 -0
- package/dist/repository-mutation/adapters/node/node-create-and-bind-directory.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-create-and-bind-directory.js +23 -0
- package/dist/repository-mutation/adapters/node/node-create-and-bind-directory.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-directory-materialization.d.ts +37 -0
- package/dist/repository-mutation/adapters/node/node-directory-materialization.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-directory-materialization.js +224 -0
- package/dist/repository-mutation/adapters/node/node-directory-materialization.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-recovery-filesystem.d.ts +28 -0
- package/dist/repository-mutation/adapters/node/node-known-file-recovery-filesystem.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-recovery-filesystem.js +194 -0
- package/dist/repository-mutation/adapters/node/node-known-file-recovery-filesystem.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-filesystem.d.ts +25 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-filesystem.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-filesystem.js +129 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-filesystem.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-inspection.d.ts +12 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-inspection.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-inspection.js +46 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-inspection.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-journal-store.d.ts +21 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-journal-store.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-journal-store.js +178 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-journal-store.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-receipt.d.ts +4 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-receipt.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-receipt.js +43 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-receipt.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-recovery.d.ts +11 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-recovery.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-recovery.js +888 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction-recovery.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction.d.ts +20 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction.d.ts.map +1 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction.js +546 -0
- package/dist/repository-mutation/adapters/node/node-known-file-transaction.js.map +1 -0
- package/dist/repository-mutation/adapters/node/node-prepare-exact-sibling-temporary.d.ts +1 -0
- package/dist/repository-mutation/adapters/node/node-prepare-exact-sibling-temporary.d.ts.map +1 -1
- package/dist/repository-mutation/adapters/node/node-prepare-exact-sibling-temporary.js +1 -0
- package/dist/repository-mutation/adapters/node/node-prepare-exact-sibling-temporary.js.map +1 -1
- package/dist/repository-mutation/application/model/directory-materialization.d.ts +35 -0
- package/dist/repository-mutation/application/model/directory-materialization.d.ts.map +1 -0
- package/dist/repository-mutation/application/model/directory-materialization.js +11 -0
- package/dist/repository-mutation/application/model/directory-materialization.js.map +1 -0
- package/dist/repository-mutation/application/model/known-file-transaction-journal.d.ts +63 -0
- package/dist/repository-mutation/application/model/known-file-transaction-journal.d.ts.map +1 -0
- package/dist/repository-mutation/application/model/known-file-transaction-journal.js +15 -0
- package/dist/repository-mutation/application/model/known-file-transaction-journal.js.map +1 -0
- package/dist/repository-mutation/application/model/known-file-transaction.d.ts +64 -0
- package/dist/repository-mutation/application/model/known-file-transaction.d.ts.map +1 -0
- package/dist/repository-mutation/application/model/known-file-transaction.js +2 -0
- package/dist/repository-mutation/application/model/known-file-transaction.js.map +1 -0
- package/dist/repository-mutation/application/policies/known-file-transaction-envelope.d.ts +8 -0
- package/dist/repository-mutation/application/policies/known-file-transaction-envelope.d.ts.map +1 -0
- package/dist/repository-mutation/application/policies/known-file-transaction-envelope.js +241 -0
- package/dist/repository-mutation/application/policies/known-file-transaction-envelope.js.map +1 -0
- package/dist/repository-mutation/application/policies/known-file-transaction-plan.d.ts +7 -0
- package/dist/repository-mutation/application/policies/known-file-transaction-plan.d.ts.map +1 -0
- package/dist/repository-mutation/application/policies/known-file-transaction-plan.js +215 -0
- package/dist/repository-mutation/application/policies/known-file-transaction-plan.js.map +1 -0
- package/dist/schema-catalog.d.ts.map +1 -1
- package/dist/schema-catalog.js +12 -0
- package/dist/schema-catalog.js.map +1 -1
- package/dist/schema-ids.d.ts +1 -1
- package/dist/schema-ids.d.ts.map +1 -1
- package/dist/schema-ids.js +8 -0
- package/dist/schema-ids.js.map +1 -1
- package/dist/semantic-version.d.ts +1 -0
- package/dist/semantic-version.d.ts.map +1 -1
- package/dist/semantic-version.js +11 -0
- package/dist/semantic-version.js.map +1 -1
- package/dist/transaction-coordination/adapters/node/document-envelope-bindings.d.ts +2 -2
- package/dist/transaction-coordination/adapters/node/document-envelope-bindings.d.ts.map +1 -1
- package/dist/transaction-coordination/adapters/node/document-envelope-bindings.js +33 -19
- package/dist/transaction-coordination/adapters/node/document-envelope-bindings.js.map +1 -1
- package/dist/transaction-coordination/adapters/node/document-temporary-identity.d.ts +1 -1
- package/dist/transaction-coordination/adapters/node/document-temporary-identity.d.ts.map +1 -1
- package/dist/transaction-coordination/adapters/node/document-temporary-identity.js.map +1 -1
- package/dist/transaction-coordination/adapters/node/document-transaction-status.d.ts +9 -0
- package/dist/transaction-coordination/adapters/node/document-transaction-status.d.ts.map +1 -0
- package/dist/transaction-coordination/adapters/node/document-transaction-status.js +26 -0
- package/dist/transaction-coordination/adapters/node/document-transaction-status.js.map +1 -0
- package/dist/transaction-coordination/adapters/node/known-file-transaction-status.d.ts +8 -0
- package/dist/transaction-coordination/adapters/node/known-file-transaction-status.d.ts.map +1 -0
- package/dist/transaction-coordination/adapters/node/known-file-transaction-status.js +50 -0
- package/dist/transaction-coordination/adapters/node/known-file-transaction-status.js.map +1 -0
- package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.d.ts.map +1 -1
- package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.js +42 -36
- package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.js.map +1 -1
- package/dist/transaction-coordination/application/foundation-transaction-coordinator.d.ts +1 -1
- package/dist/transaction-coordination/application/foundation-transaction-coordinator.d.ts.map +1 -1
- package/dist/transaction-coordination/application/foundation-transaction-coordinator.js +13 -2
- package/dist/transaction-coordination/application/foundation-transaction-coordinator.js.map +1 -1
- package/dist/transaction-coordination/application/model/internal-transaction-status.d.ts +15 -3
- package/dist/transaction-coordination/application/model/internal-transaction-status.d.ts.map +1 -1
- package/dist/transaction-coordination/application/model/transaction-status.d.ts +6 -2
- package/dist/transaction-coordination/application/model/transaction-status.d.ts.map +1 -1
- package/package.json +17 -1
- package/schemas/document-authoring-profile/v2.schema.json +168 -0
- package/schemas/document-parent-materialization/v2.schema.json +65 -0
- package/schemas/document-plan/v2.schema.json +85 -0
- package/schemas/document-receipt/v2.schema.json +108 -0
- package/schemas/foundation-transaction-envelope/v4.schema.json +164 -0
- package/schemas/foundation-transaction-envelope/v5.schema.json +94 -0
- package/schemas/known-file-transaction-plan/v1.schema.json +65 -0
- package/schemas/known-file-transaction-receipt/v1.schema.json +36 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { PortablePathIdentity } from "./path-identity.js";
|
|
2
|
+
export type DirectoryCreatePolicy = "allow" | "forbid";
|
|
3
|
+
export interface ProjectedDirectory {
|
|
4
|
+
readonly absolutePath: string;
|
|
5
|
+
readonly repositoryPath: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CapturedDirectory extends ProjectedDirectory {
|
|
8
|
+
readonly identity: PortablePathIdentity;
|
|
9
|
+
}
|
|
10
|
+
export interface DirectoryMaterializationProjection {
|
|
11
|
+
readonly anchor: CapturedDirectory;
|
|
12
|
+
readonly createPolicy: DirectoryCreatePolicy;
|
|
13
|
+
readonly finalParent: ProjectedDirectory;
|
|
14
|
+
readonly missingDirectories: readonly ProjectedDirectory[];
|
|
15
|
+
readonly repositoryRoot: CapturedDirectory;
|
|
16
|
+
}
|
|
17
|
+
export interface BoundDirectoryCreation extends CapturedDirectory {
|
|
18
|
+
readonly outcome: "created-and-bound";
|
|
19
|
+
readonly parentIdentity: PortablePathIdentity;
|
|
20
|
+
}
|
|
21
|
+
export type UnboundDirectoryCreationRecovery = {
|
|
22
|
+
readonly outcome: "not-created";
|
|
23
|
+
} | {
|
|
24
|
+
readonly observedIdentity: PortablePathIdentity;
|
|
25
|
+
readonly outcome: "ambiguous-manual";
|
|
26
|
+
};
|
|
27
|
+
export type DirectoryMutationErrorCode = "ALIAS_COLLISION" | "AMBIGUOUS_CREATION" | "CONCURRENT_CHANGE" | "CREATE_FORBIDDEN" | "IDENTITY_UNAVAILABLE" | "INVALID_PATH" | "NOT_DIRECTORY" | "OUTSIDE_ROOT" | "SYMLINK";
|
|
28
|
+
export declare class DirectoryMutationError extends Error {
|
|
29
|
+
readonly code: DirectoryMutationErrorCode;
|
|
30
|
+
readonly manualRecoveryRequired: boolean;
|
|
31
|
+
constructor(code: DirectoryMutationErrorCode, message: string, options?: ErrorOptions & {
|
|
32
|
+
readonly manualRecoveryRequired?: boolean;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=directory-materialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directory-materialization.d.ts","sourceRoot":"","sources":["../../../../src/repository-mutation/application/model/directory-materialization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC3D,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;CAC/C;AAED,MAAM,MAAM,gCAAgC,GACxC;IAAE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GACnC;IACE,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACtC,CAAC;AAEN,MAAM,MAAM,0BAA0B,GAClC,iBAAiB,GACjB,oBAAoB,GACpB,mBAAmB,GACnB,kBAAkB,GAClB,sBAAsB,GACtB,cAAc,GACd,eAAe,GACf,cAAc,GACd,SAAS,CAAC;AAEd,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAEzC,YACE,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,EAMvE;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class DirectoryMutationError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
manualRecoveryRequired;
|
|
4
|
+
constructor(code, message, options) {
|
|
5
|
+
super(message, options);
|
|
6
|
+
this.name = "DirectoryMutationError";
|
|
7
|
+
this.code = code;
|
|
8
|
+
this.manualRecoveryRequired = options?.manualRecoveryRequired ?? false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=directory-materialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directory-materialization.js","sourceRoot":"","sources":["../../../../src/repository-mutation/application/model/directory-materialization.ts"],"names":[],"mappings":"AA4CA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,IAAI,CAA6B;IACjC,sBAAsB,CAAU;IAEzC,YACE,IAAgC,EAChC,OAAe,EACf,OAAsE;QAEtE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,sBAAsB,GAAG,OAAO,EAAE,sBAAsB,IAAI,KAAK,CAAC;IACzE,CAAC;CACF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { PortablePathIdentity } from "./path-identity.js";
|
|
2
|
+
import type { KnownFileDigest, KnownFileTransactionPlanV1 } from "./known-file-transaction.js";
|
|
3
|
+
export interface KnownFileTransactionPortableIdentityV1 {
|
|
4
|
+
readonly birthtimeNs: string;
|
|
5
|
+
readonly dev: string;
|
|
6
|
+
readonly ino: string;
|
|
7
|
+
}
|
|
8
|
+
interface KnownFileTransactionRetirementV1 {
|
|
9
|
+
readonly kind: "destination" | "rollback-temporary" | "temporary";
|
|
10
|
+
readonly state: "ready" | "captured" | "unlink-authorized";
|
|
11
|
+
readonly directoryIdentity: KnownFileTransactionPortableIdentityV1;
|
|
12
|
+
readonly pathIdentity: KnownFileTransactionPortableIdentityV1;
|
|
13
|
+
}
|
|
14
|
+
export type KnownFileTransactionJournalOperationV1 = {
|
|
15
|
+
readonly path: string;
|
|
16
|
+
readonly state: "already-satisfied" | "pending" | "temporary-authorized";
|
|
17
|
+
readonly matchedPreimage?: number;
|
|
18
|
+
readonly rollbackTemporaryIdentity?: never;
|
|
19
|
+
readonly captureDirectoryIdentity?: never;
|
|
20
|
+
readonly capturedPreimageIdentity?: never;
|
|
21
|
+
readonly retirement?: never;
|
|
22
|
+
} | {
|
|
23
|
+
readonly path: string;
|
|
24
|
+
readonly state: "temporary-ready" | "capture-authorized" | "capture-ready" | "preimage-captured" | "destination-retired" | "publishing" | "published" | "rollback-restored";
|
|
25
|
+
readonly matchedPreimage?: number;
|
|
26
|
+
readonly rollbackTemporaryIdentity?: KnownFileTransactionPortableIdentityV1;
|
|
27
|
+
readonly temporaryIdentity: KnownFileTransactionPortableIdentityV1;
|
|
28
|
+
readonly captureDirectoryIdentity?: KnownFileTransactionPortableIdentityV1;
|
|
29
|
+
readonly capturedPreimageIdentity?: KnownFileTransactionPortableIdentityV1;
|
|
30
|
+
readonly retirement?: KnownFileTransactionRetirementV1;
|
|
31
|
+
};
|
|
32
|
+
export interface KnownFileTransactionJournalV1 {
|
|
33
|
+
readonly schemaVersion: 1;
|
|
34
|
+
readonly plan: KnownFileTransactionPlanV1;
|
|
35
|
+
readonly operations: readonly KnownFileTransactionJournalOperationV1[];
|
|
36
|
+
readonly authorizedDirectories: readonly string[];
|
|
37
|
+
readonly createdDirectories: readonly {
|
|
38
|
+
readonly path: string;
|
|
39
|
+
readonly identity: KnownFileTransactionPortableIdentityV1;
|
|
40
|
+
}[];
|
|
41
|
+
}
|
|
42
|
+
export interface KnownFileTransactionEnvelopeV1 {
|
|
43
|
+
readonly schemaVersion: 5;
|
|
44
|
+
readonly operationKind: "known-file-transaction";
|
|
45
|
+
readonly recoveryHandler: {
|
|
46
|
+
readonly id: "foundation.replace-known-file";
|
|
47
|
+
readonly contractVersion: 1;
|
|
48
|
+
};
|
|
49
|
+
readonly foundation: {
|
|
50
|
+
readonly version: string;
|
|
51
|
+
readonly buildIdentity: KnownFileDigest;
|
|
52
|
+
};
|
|
53
|
+
readonly adapterContractVersion: 1;
|
|
54
|
+
readonly payloadKind: "known-file-transaction-journal/v1";
|
|
55
|
+
readonly state: "APPLYING" | "COMMITTED";
|
|
56
|
+
readonly journal: KnownFileTransactionJournalV1;
|
|
57
|
+
readonly payloadDigest: KnownFileDigest;
|
|
58
|
+
readonly envelopeDigest: KnownFileDigest;
|
|
59
|
+
}
|
|
60
|
+
export declare function serializeKnownFileIdentity(identity: PortablePathIdentity): KnownFileTransactionPortableIdentityV1;
|
|
61
|
+
export declare function deserializeKnownFileIdentity(identity: KnownFileTransactionPortableIdentityV1): PortablePathIdentity;
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=known-file-transaction-journal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-file-transaction-journal.d.ts","sourceRoot":"","sources":["../../../../src/repository-mutation/application/model/known-file-transaction-journal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function serializeKnownFileIdentity(identity) {
|
|
2
|
+
return Object.freeze({
|
|
3
|
+
birthtimeNs: identity.birthtimeNs.toString(),
|
|
4
|
+
dev: identity.dev.toString(),
|
|
5
|
+
ino: identity.ino.toString()
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export function deserializeKnownFileIdentity(identity) {
|
|
9
|
+
return {
|
|
10
|
+
birthtimeNs: BigInt(identity.birthtimeNs),
|
|
11
|
+
dev: BigInt(identity.dev),
|
|
12
|
+
ino: BigInt(identity.ino)
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=known-file-transaction-journal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-file-transaction-journal.js","sourceRoot":"","sources":["../../../../src/repository-mutation/application/model/known-file-transaction-journal.ts"],"names":[],"mappings":"AA8EA,MAAM,UAAU,0BAA0B,CACxC,QAA8B;IAE9B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC5C,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5B,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAAgD;IAEhD,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACzB,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export type KnownFileDigest = `sha256:${string}`;
|
|
2
|
+
export interface KnownFileImageV1 {
|
|
3
|
+
readonly contentBase64: string;
|
|
4
|
+
readonly digest: KnownFileDigest;
|
|
5
|
+
readonly mode: number;
|
|
6
|
+
readonly size: number;
|
|
7
|
+
}
|
|
8
|
+
export type KnownFilePreconditionV1 = {
|
|
9
|
+
readonly state: "absent";
|
|
10
|
+
} | {
|
|
11
|
+
readonly state: "known-file";
|
|
12
|
+
readonly acceptedPreimages: readonly KnownFileImageV1[];
|
|
13
|
+
};
|
|
14
|
+
export interface KnownFileTransactionOperationV1 {
|
|
15
|
+
readonly path: string;
|
|
16
|
+
readonly precondition: KnownFilePreconditionV1;
|
|
17
|
+
readonly postimage: KnownFileImageV1;
|
|
18
|
+
}
|
|
19
|
+
export interface KnownFileTransactionPlanV1 {
|
|
20
|
+
readonly schemaVersion: 1;
|
|
21
|
+
readonly protocol: "foundation.replace-known-file/v1";
|
|
22
|
+
readonly operations: readonly KnownFileTransactionOperationV1[];
|
|
23
|
+
readonly planDigest: KnownFileDigest;
|
|
24
|
+
}
|
|
25
|
+
export type KnownFileTransactionOperationOutcome = "already-satisfied" | "created" | "replaced" | "rolled-back-to-absent" | "rolled-back-to-preimage";
|
|
26
|
+
export interface KnownFileTransactionReceiptV1 {
|
|
27
|
+
readonly schemaVersion: 1;
|
|
28
|
+
readonly protocol: "foundation.replace-known-file/v1";
|
|
29
|
+
readonly planDigest: KnownFileDigest;
|
|
30
|
+
readonly outcome: "already-satisfied" | "applied" | "rolled-back";
|
|
31
|
+
readonly operations: readonly {
|
|
32
|
+
readonly path: string;
|
|
33
|
+
readonly outcome: KnownFileTransactionOperationOutcome;
|
|
34
|
+
readonly resultDigest?: KnownFileDigest;
|
|
35
|
+
}[];
|
|
36
|
+
readonly receiptDigest: KnownFileDigest;
|
|
37
|
+
}
|
|
38
|
+
export type KnownFileTransactionOperationInput = {
|
|
39
|
+
readonly path: string;
|
|
40
|
+
readonly precondition: {
|
|
41
|
+
readonly state: "absent";
|
|
42
|
+
};
|
|
43
|
+
readonly postimage: {
|
|
44
|
+
readonly bytes: Uint8Array;
|
|
45
|
+
readonly mode?: number;
|
|
46
|
+
};
|
|
47
|
+
} | {
|
|
48
|
+
readonly path: string;
|
|
49
|
+
readonly precondition: {
|
|
50
|
+
readonly state: "known-file";
|
|
51
|
+
readonly acceptedPreimages: readonly {
|
|
52
|
+
readonly bytes: Uint8Array;
|
|
53
|
+
readonly mode: number;
|
|
54
|
+
}[];
|
|
55
|
+
};
|
|
56
|
+
readonly postimage: {
|
|
57
|
+
readonly bytes: Uint8Array;
|
|
58
|
+
readonly mode: number;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export interface CompileKnownFileTransactionPlanInput {
|
|
62
|
+
readonly operations: readonly KnownFileTransactionOperationInput[];
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=known-file-transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-file-transaction.d.ts","sourceRoot":"","sources":["../../../../src/repository-mutation/application/model/known-file-transaction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,UAAU,MAAM,EAAE,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC5B;IACE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACzD,CAAC;AAEN,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,kCAAkC,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAChE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED,MAAM,MAAM,oCAAoC,GAC5C,mBAAmB,GACnB,SAAS,GACT,UAAU,GACV,uBAAuB,GACvB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,kCAAkC,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,GAAG,aAAa,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EAAE,oCAAoC,CAAC;QACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;KACzC,EAAE,CAAC;IACJ,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC;CACzC;AAED,MAAM,MAAM,kCAAkC,GAC1C;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;QAC7B,QAAQ,CAAC,iBAAiB,EAAE,SAAS;YACnC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;SACvB,EAAE,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEN,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,UAAU,EAAE,SAAS,kCAAkC,EAAE,CAAC;CACpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-file-transaction.js","sourceRoot":"","sources":["../../../../src/repository-mutation/application/model/known-file-transaction.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { KnownFileTransactionEnvelopeV1, KnownFileTransactionJournalV1 } from "../model/known-file-transaction-journal.js";
|
|
2
|
+
export declare function compileKnownFileTransactionEnvelope(input: {
|
|
3
|
+
readonly foundation: KnownFileTransactionEnvelopeV1["foundation"];
|
|
4
|
+
readonly journal: KnownFileTransactionJournalV1;
|
|
5
|
+
readonly state: KnownFileTransactionEnvelopeV1["state"];
|
|
6
|
+
}): KnownFileTransactionEnvelopeV1;
|
|
7
|
+
export declare function assertKnownFileTransactionEnvelope(value: unknown): asserts value is KnownFileTransactionEnvelopeV1;
|
|
8
|
+
//# sourceMappingURL=known-file-transaction-envelope.d.ts.map
|
package/dist/repository-mutation/application/policies/known-file-transaction-envelope.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-file-transaction-envelope.d.ts","sourceRoot":"","sources":["../../../../src/repository-mutation/application/policies/known-file-transaction-envelope.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,4CAA4C,CAAC;AA6OpD,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC,YAAY,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAC;CACzD,GAAG,8BAA8B,CAUjC;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,8BAA8B,CAgCjD"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { canonicalJson, sha256Json } from "../../../canonical-json.js";
|
|
2
|
+
import { deserializeKnownFileIdentity } from "../model/known-file-transaction-journal.js";
|
|
3
|
+
import { portableRepositoryPathProblem } from "../model/repository-path.js";
|
|
4
|
+
import { assertKnownFileTransactionPlan } from "./known-file-transaction-plan.js";
|
|
5
|
+
const SHA256 = /^sha256:[0-9a-f]{64}$/u;
|
|
6
|
+
const POSITIVE_INTEGER = /^[1-9][0-9]*$/u;
|
|
7
|
+
class KnownFileTransactionEnvelopeError extends Error {
|
|
8
|
+
constructor(message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = "KnownFileTransactionEnvelopeError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function record(value, subject) {
|
|
14
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
15
|
+
throw new KnownFileTransactionEnvelopeError(`${subject} is invalid.`);
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
function exactKeys(value, keys, subject) {
|
|
20
|
+
if (Object.keys(value).toSorted().join(",") !== [...keys].toSorted().join(",")) {
|
|
21
|
+
throw new KnownFileTransactionEnvelopeError(`${subject} has unknown or missing fields.`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function assertIdentity(value, subject) {
|
|
25
|
+
const identity = record(value, subject);
|
|
26
|
+
exactKeys(identity, ["birthtimeNs", "dev", "ino"], subject);
|
|
27
|
+
for (const field of ["birthtimeNs", "dev", "ino"]) {
|
|
28
|
+
if (!POSITIVE_INTEGER.test(String(identity[field]))) {
|
|
29
|
+
throw new KnownFileTransactionEnvelopeError(`${subject}.${field} is invalid.`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
deserializeKnownFileIdentity(identity);
|
|
33
|
+
}
|
|
34
|
+
function journalOperationKeys(operation, withTemporary) {
|
|
35
|
+
if (!withTemporary) {
|
|
36
|
+
return operation["matchedPreimage"] === undefined
|
|
37
|
+
? ["path", "state"]
|
|
38
|
+
: ["matchedPreimage", "path", "state"];
|
|
39
|
+
}
|
|
40
|
+
return [
|
|
41
|
+
...(operation["matchedPreimage"] === undefined ? [] : ["matchedPreimage"]),
|
|
42
|
+
"path",
|
|
43
|
+
...(operation["rollbackTemporaryIdentity"] === undefined
|
|
44
|
+
? []
|
|
45
|
+
: ["rollbackTemporaryIdentity"]),
|
|
46
|
+
...(operation["captureDirectoryIdentity"] === undefined
|
|
47
|
+
? []
|
|
48
|
+
: ["captureDirectoryIdentity"]),
|
|
49
|
+
...(operation["capturedPreimageIdentity"] === undefined
|
|
50
|
+
? []
|
|
51
|
+
: ["capturedPreimageIdentity"]),
|
|
52
|
+
...(operation["retirement"] === undefined ? [] : ["retirement"]),
|
|
53
|
+
"state",
|
|
54
|
+
"temporaryIdentity"
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
function assertJournalOperationIdentities(options) {
|
|
58
|
+
const subject = `Known-file journal operation ${options.index}`;
|
|
59
|
+
assertIdentity(options.operation["temporaryIdentity"], `${subject} temporary identity`);
|
|
60
|
+
if (options.operation["rollbackTemporaryIdentity"] !== undefined) {
|
|
61
|
+
if (options.precondition?.state !== "known-file") {
|
|
62
|
+
throw new KnownFileTransactionEnvelopeError(`${subject} rollback identity is invalid.`);
|
|
63
|
+
}
|
|
64
|
+
assertIdentity(options.operation["rollbackTemporaryIdentity"], `${subject} rollback temporary identity`);
|
|
65
|
+
}
|
|
66
|
+
if (options.operation["captureDirectoryIdentity"] !== undefined) {
|
|
67
|
+
if (options.precondition?.state !== "known-file") {
|
|
68
|
+
throw new KnownFileTransactionEnvelopeError(`${subject} capture directory identity is invalid.`);
|
|
69
|
+
}
|
|
70
|
+
assertIdentity(options.operation["captureDirectoryIdentity"], `${subject} capture directory identity`);
|
|
71
|
+
}
|
|
72
|
+
if (options.operation["capturedPreimageIdentity"] !== undefined) {
|
|
73
|
+
if (options.precondition?.state !== "known-file" ||
|
|
74
|
+
options.operation["captureDirectoryIdentity"] === undefined ||
|
|
75
|
+
!["preimage-captured", "destination-retired", "publishing", "published", "rollback-restored"].includes(String(options.state))) {
|
|
76
|
+
throw new KnownFileTransactionEnvelopeError(`${subject} captured preimage identity is invalid.`);
|
|
77
|
+
}
|
|
78
|
+
assertIdentity(options.operation["capturedPreimageIdentity"], `${subject} captured preimage identity`);
|
|
79
|
+
}
|
|
80
|
+
if (options.operation["retirement"] !== undefined) {
|
|
81
|
+
const retirement = record(options.operation["retirement"], `${subject} retirement`);
|
|
82
|
+
exactKeys(retirement, ["directoryIdentity", "kind", "pathIdentity", "state"], `${subject} retirement`);
|
|
83
|
+
if (!["destination", "rollback-temporary", "temporary"].includes(String(retirement["kind"])) ||
|
|
84
|
+
!["ready", "captured", "unlink-authorized"].includes(String(retirement["state"]))) {
|
|
85
|
+
throw new KnownFileTransactionEnvelopeError(`${subject} retirement transition is invalid.`);
|
|
86
|
+
}
|
|
87
|
+
assertIdentity(retirement["directoryIdentity"], `${subject} retirement directory identity`);
|
|
88
|
+
assertIdentity(retirement["pathIdentity"], `${subject} retirement path identity`);
|
|
89
|
+
}
|
|
90
|
+
if (["capture-ready", "preimage-captured", "destination-retired"].includes(String(options.state)) &&
|
|
91
|
+
options.operation["captureDirectoryIdentity"] === undefined) {
|
|
92
|
+
throw new KnownFileTransactionEnvelopeError(`${subject} lacks capture directory identity.`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function assertJournalOperation(candidate, index, plan) {
|
|
96
|
+
const operation = record(candidate, `Known-file journal operation ${index}`);
|
|
97
|
+
const state = operation["state"];
|
|
98
|
+
const withTemporary = [
|
|
99
|
+
"temporary-ready", "capture-authorized", "capture-ready", "preimage-captured",
|
|
100
|
+
"destination-retired", "publishing", "published", "rollback-restored"
|
|
101
|
+
].includes(String(state));
|
|
102
|
+
exactKeys(operation, journalOperationKeys(operation, withTemporary), `Known-file journal operation ${index}`);
|
|
103
|
+
if (operation["path"] !== plan.operations[index]?.path ||
|
|
104
|
+
![
|
|
105
|
+
"already-satisfied", "pending", "temporary-authorized", "temporary-ready", "capture-authorized", "capture-ready",
|
|
106
|
+
"preimage-captured", "destination-retired", "publishing", "published", "rollback-restored"
|
|
107
|
+
].includes(String(state))) {
|
|
108
|
+
throw new KnownFileTransactionEnvelopeError(`Known-file journal operation ${index} is invalid.`);
|
|
109
|
+
}
|
|
110
|
+
const matched = operation["matchedPreimage"];
|
|
111
|
+
const precondition = plan.operations[index]?.precondition;
|
|
112
|
+
if (matched !== undefined &&
|
|
113
|
+
(!Number.isSafeInteger(matched) || matched < 0 ||
|
|
114
|
+
precondition?.state !== "known-file" || matched >= precondition.acceptedPreimages.length)) {
|
|
115
|
+
throw new KnownFileTransactionEnvelopeError(`Known-file journal operation ${index} preimage binding is invalid.`);
|
|
116
|
+
}
|
|
117
|
+
if (withTemporary) {
|
|
118
|
+
assertJournalOperationIdentities({ index, operation, precondition, state });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function permittedParentDirectories(plan) {
|
|
122
|
+
const permitted = new Set();
|
|
123
|
+
for (const operation of plan.operations) {
|
|
124
|
+
const segments = operation.path.split("/");
|
|
125
|
+
segments.pop();
|
|
126
|
+
for (let count = 1; count <= segments.length; count += 1) {
|
|
127
|
+
permitted.add(segments.slice(0, count).join("/"));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return permitted;
|
|
131
|
+
}
|
|
132
|
+
function assertCreatedDirectories(value, plan) {
|
|
133
|
+
if (!Array.isArray(value) || value.length > 128) {
|
|
134
|
+
throw new KnownFileTransactionEnvelopeError("Known-file created-directory evidence is invalid.");
|
|
135
|
+
}
|
|
136
|
+
const permitted = permittedParentDirectories(plan);
|
|
137
|
+
const paths = [];
|
|
138
|
+
for (const [index, candidate] of value.entries()) {
|
|
139
|
+
const directory = record(candidate, `Known-file created directory ${index}`);
|
|
140
|
+
exactKeys(directory, ["identity", "path"], `Known-file created directory ${index}`);
|
|
141
|
+
if (typeof directory["path"] !== "string" ||
|
|
142
|
+
portableRepositoryPathProblem(directory["path"]) !== undefined ||
|
|
143
|
+
directory["path"].normalize("NFC") !== directory["path"] ||
|
|
144
|
+
!permitted.has(directory["path"])) {
|
|
145
|
+
throw new KnownFileTransactionEnvelopeError(`Known-file created directory ${index} path is invalid.`);
|
|
146
|
+
}
|
|
147
|
+
assertIdentity(directory["identity"], `Known-file created directory ${index} identity`);
|
|
148
|
+
paths.push(directory["path"]);
|
|
149
|
+
}
|
|
150
|
+
if (new Set(paths).size !== paths.length) {
|
|
151
|
+
throw new KnownFileTransactionEnvelopeError("Known-file created-directory evidence contains duplicates.");
|
|
152
|
+
}
|
|
153
|
+
return paths;
|
|
154
|
+
}
|
|
155
|
+
function assertJournal(value) {
|
|
156
|
+
const journal = record(value, "Known-file transaction journal");
|
|
157
|
+
exactKeys(journal, ["authorizedDirectories", "createdDirectories", "operations", "plan", "schemaVersion"], "Known-file transaction journal");
|
|
158
|
+
if (journal["schemaVersion"] !== 1) {
|
|
159
|
+
throw new KnownFileTransactionEnvelopeError("Known-file transaction journal version is unsupported.");
|
|
160
|
+
}
|
|
161
|
+
assertKnownFileTransactionPlan(journal["plan"]);
|
|
162
|
+
const plan = journal["plan"];
|
|
163
|
+
if (!Array.isArray(journal["operations"]) || journal["operations"].length !== plan.operations.length) {
|
|
164
|
+
throw new KnownFileTransactionEnvelopeError("Known-file transaction journal operations do not bind the Plan.");
|
|
165
|
+
}
|
|
166
|
+
journal["operations"].forEach((candidate, index) => {
|
|
167
|
+
assertJournalOperation(candidate, index, plan);
|
|
168
|
+
});
|
|
169
|
+
const createdPaths = assertCreatedDirectories(journal["createdDirectories"], plan);
|
|
170
|
+
const authorizedDirectories = journal["authorizedDirectories"];
|
|
171
|
+
if (!Array.isArray(authorizedDirectories) || authorizedDirectories.length > 128 ||
|
|
172
|
+
authorizedDirectories.some((path) => typeof path !== "string" ||
|
|
173
|
+
portableRepositoryPathProblem(path) !== undefined || path.normalize("NFC") !== path ||
|
|
174
|
+
!permittedParentDirectories(plan).has(path)) ||
|
|
175
|
+
new Set(authorizedDirectories).size !== authorizedDirectories.length ||
|
|
176
|
+
authorizedDirectories.some((path) => createdPaths.includes(path))) {
|
|
177
|
+
throw new KnownFileTransactionEnvelopeError("Known-file authorized-directory evidence is invalid.");
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function body(input) {
|
|
181
|
+
const payloadDigest = sha256Json(input.journal);
|
|
182
|
+
return {
|
|
183
|
+
schemaVersion: 5,
|
|
184
|
+
operationKind: "known-file-transaction",
|
|
185
|
+
recoveryHandler: {
|
|
186
|
+
id: "foundation.replace-known-file",
|
|
187
|
+
contractVersion: 1
|
|
188
|
+
},
|
|
189
|
+
foundation: input.foundation,
|
|
190
|
+
adapterContractVersion: 1,
|
|
191
|
+
payloadKind: "known-file-transaction-journal/v1",
|
|
192
|
+
state: input.state,
|
|
193
|
+
journal: input.journal,
|
|
194
|
+
payloadDigest
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
export function compileKnownFileTransactionEnvelope(input) {
|
|
198
|
+
assertJournal(input.journal);
|
|
199
|
+
if (!SHA256.test(input.foundation.buildIdentity) || input.foundation.version.length === 0) {
|
|
200
|
+
throw new KnownFileTransactionEnvelopeError("Known-file transaction Foundation identity is invalid.");
|
|
201
|
+
}
|
|
202
|
+
const envelopeBody = body(input);
|
|
203
|
+
return Object.freeze({
|
|
204
|
+
...envelopeBody,
|
|
205
|
+
envelopeDigest: sha256Json(envelopeBody)
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
export function assertKnownFileTransactionEnvelope(value) {
|
|
209
|
+
const envelope = record(value, "Known-file transaction envelope");
|
|
210
|
+
exactKeys(envelope, [
|
|
211
|
+
"adapterContractVersion", "envelopeDigest", "foundation", "journal",
|
|
212
|
+
"operationKind", "payloadDigest", "payloadKind", "recoveryHandler",
|
|
213
|
+
"schemaVersion", "state"
|
|
214
|
+
], "Known-file transaction envelope");
|
|
215
|
+
const foundation = record(envelope["foundation"], "Known-file Foundation identity");
|
|
216
|
+
const recovery = record(envelope["recoveryHandler"], "Known-file recovery handler");
|
|
217
|
+
exactKeys(foundation, ["buildIdentity", "version"], "Known-file Foundation identity");
|
|
218
|
+
exactKeys(recovery, ["contractVersion", "id"], "Known-file recovery handler");
|
|
219
|
+
if (envelope["schemaVersion"] !== 5 ||
|
|
220
|
+
envelope["operationKind"] !== "known-file-transaction" ||
|
|
221
|
+
envelope["adapterContractVersion"] !== 1 ||
|
|
222
|
+
envelope["payloadKind"] !== "known-file-transaction-journal/v1" ||
|
|
223
|
+
!["APPLYING", "COMMITTED"].includes(String(envelope["state"])) ||
|
|
224
|
+
recovery["id"] !== "foundation.replace-known-file" ||
|
|
225
|
+
recovery["contractVersion"] !== 1 ||
|
|
226
|
+
typeof foundation["version"] !== "string" ||
|
|
227
|
+
!SHA256.test(String(foundation["buildIdentity"]))) {
|
|
228
|
+
throw new KnownFileTransactionEnvelopeError("Known-file transaction envelope binding is invalid.");
|
|
229
|
+
}
|
|
230
|
+
assertJournal(envelope["journal"]);
|
|
231
|
+
const reconstructed = compileKnownFileTransactionEnvelope({
|
|
232
|
+
foundation: foundation,
|
|
233
|
+
journal: envelope["journal"],
|
|
234
|
+
state: envelope["state"]
|
|
235
|
+
});
|
|
236
|
+
if (canonicalJson(reconstructed) !==
|
|
237
|
+
canonicalJson(value)) {
|
|
238
|
+
throw new KnownFileTransactionEnvelopeError("Known-file transaction envelope is non-canonical or tampered.");
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=known-file-transaction-envelope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-file-transaction-envelope.js","sourceRoot":"","sources":["../../../../src/repository-mutation/application/policies/known-file-transaction-envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CompileKnownFileTransactionPlanInput, KnownFileTransactionPlanV1 } from "../model/known-file-transaction.js";
|
|
2
|
+
export declare class KnownFileTransactionPlanError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
export declare function compileKnownFileTransactionPlan(input: CompileKnownFileTransactionPlanInput): KnownFileTransactionPlanV1;
|
|
6
|
+
export declare function assertKnownFileTransactionPlan(value: unknown): asserts value is KnownFileTransactionPlanV1;
|
|
7
|
+
//# sourceMappingURL=known-file-transaction-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-file-transaction-plan.d.ts","sourceRoot":"","sources":["../../../../src/repository-mutation/application/policies/known-file-transaction-plan.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,oCAAoC,EAIpC,0BAA0B,EAC3B,MAAM,oCAAoC,CAAC;AAa5C,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,YAAmB,OAAO,EAAE,MAAM,EAGjC;CACF;AAuID,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,oCAAoC,GAC1C,0BAA0B,CAmD5B;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,0BAA0B,CAuD7C"}
|