@sourcey/catalog-verifier 1.1.35 → 1.2.0
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/CHANGELOG.md +10 -0
- package/README.md +11 -5
- package/SBOM.cdx.json +1 -60
- package/SOURCEY-CLOSURE.json +297 -2345
- package/SOURCEY-DISTRIBUTION.json +38 -12
- package/THIRD_PARTY_NOTICES.json +0 -30
- package/dist/contracts/agent-readiness/src/binding.d.ts +12 -0
- package/dist/contracts/agent-readiness/src/binding.d.ts.map +1 -1
- package/dist/contracts/agent-readiness/src/binding.js +119 -2
- package/dist/contracts/agent-readiness/src/binding.js.map +1 -1
- package/dist/contracts/agent-readiness/src/declaration.d.ts +68 -0
- package/dist/contracts/agent-readiness/src/declaration.d.ts.map +1 -1
- package/dist/contracts/agent-readiness/src/declaration.js +19 -3
- package/dist/contracts/agent-readiness/src/declaration.js.map +1 -1
- package/dist/contracts/agent-readiness/src/jobs.d.ts +36 -0
- package/dist/contracts/agent-readiness/src/jobs.d.ts.map +1 -1
- package/dist/contracts/agent-readiness/src/jobs.js +80 -0
- package/dist/contracts/agent-readiness/src/jobs.js.map +1 -1
- package/dist/contracts/agent-readiness/src/operation.d.ts +40 -0
- package/dist/contracts/agent-readiness/src/operation.d.ts.map +1 -1
- package/dist/contracts/agent-readiness/src/operation.js +85 -16
- package/dist/contracts/agent-readiness/src/operation.js.map +1 -1
- package/dist/contracts/agent-readiness/src/shared.d.ts +15 -0
- package/dist/contracts/agent-readiness/src/shared.d.ts.map +1 -1
- package/dist/contracts/agent-readiness/src/shared.js +36 -0
- package/dist/contracts/agent-readiness/src/shared.js.map +1 -1
- package/dist/modules/agent-readiness-jobs/src/current.d.ts +48 -0
- package/dist/modules/agent-readiness-jobs/src/current.d.ts.map +1 -0
- package/dist/modules/agent-readiness-jobs/src/current.js +7 -0
- package/dist/modules/agent-readiness-jobs/src/current.js.map +1 -0
- package/dist/modules/agent-readiness-jobs/src/index.d.ts +1 -1
- package/dist/modules/agent-readiness-jobs/src/index.d.ts.map +1 -1
- package/dist/modules/agent-readiness-jobs/src/index.js +1 -1
- package/dist/modules/agent-readiness-jobs/src/index.js.map +1 -1
- package/dist/modules/agent-readiness-policy/src/declaration-jobs.d.ts +8 -6
- package/dist/modules/agent-readiness-policy/src/declaration-jobs.d.ts.map +1 -1
- package/dist/modules/agent-readiness-policy/src/declaration-jobs.js +7 -7
- package/dist/modules/agent-readiness-policy/src/declaration-jobs.js.map +1 -1
- package/dist/modules/agent-readiness-repository/src/change.d.ts +4 -3
- package/dist/modules/agent-readiness-repository/src/change.d.ts.map +1 -1
- package/dist/modules/agent-readiness-repository/src/change.js +7 -7
- package/dist/modules/agent-readiness-repository/src/change.js.map +1 -1
- package/dist/modules/agent-readiness-repository/src/index.d.ts +4 -4
- package/dist/modules/agent-readiness-repository/src/index.d.ts.map +1 -1
- package/dist/modules/agent-readiness-repository/src/index.js +3 -3
- package/dist/modules/agent-readiness-repository/src/index.js.map +1 -1
- package/dist/modules/authority/src/identity-context.d.ts +6 -0
- package/dist/modules/authority/src/identity-context.d.ts.map +1 -0
- package/dist/modules/authority/src/identity-context.js +42 -0
- package/dist/modules/authority/src/identity-context.js.map +1 -0
- package/dist/modules/authority/src/registry.d.ts +29 -0
- package/dist/modules/authority/src/registry.d.ts.map +1 -0
- package/dist/modules/authority/src/registry.js +112 -0
- package/dist/modules/authority/src/registry.js.map +1 -0
- package/dist/modules/catalog-admission/src/admission-conflicts.d.ts.map +1 -1
- package/dist/modules/catalog-admission/src/admission-conflicts.js +2 -1
- package/dist/modules/catalog-admission/src/admission-conflicts.js.map +1 -1
- package/dist/modules/catalog-admission/src/pull-request-tree.d.ts +61 -0
- package/dist/modules/catalog-admission/src/pull-request-tree.d.ts.map +1 -0
- package/dist/modules/catalog-admission/src/pull-request-tree.js +149 -0
- package/dist/modules/catalog-admission/src/pull-request-tree.js.map +1 -0
- package/dist/packages/catalog-verifier/src/application.d.ts +1 -5
- package/dist/packages/catalog-verifier/src/application.d.ts.map +1 -1
- package/dist/packages/catalog-verifier/src/application.js +9 -75
- package/dist/packages/catalog-verifier/src/application.js.map +1 -1
- package/dist/packages/catalog-verifier/src/cli.d.ts +8 -0
- package/dist/packages/catalog-verifier/src/cli.d.ts.map +1 -0
- package/dist/packages/catalog-verifier/src/cli.js +43 -0
- package/dist/packages/catalog-verifier/src/cli.js.map +1 -0
- package/dist/packages/catalog-verifier/src/contribution.d.ts +8 -0
- package/dist/packages/catalog-verifier/src/contribution.d.ts.map +1 -0
- package/dist/packages/catalog-verifier/src/contribution.js +8 -0
- package/dist/packages/catalog-verifier/src/contribution.js.map +1 -0
- package/dist/packages/catalog-verifier/src/program.d.ts +0 -1
- package/dist/packages/catalog-verifier/src/program.d.ts.map +1 -1
- package/dist/packages/catalog-verifier/src/program.js +1 -53
- package/dist/packages/catalog-verifier/src/program.js.map +1 -1
- package/dist/packages/catalog-verifier/src/result.d.ts +12 -0
- package/dist/packages/catalog-verifier/src/result.d.ts.map +1 -0
- package/dist/packages/catalog-verifier/src/result.js +57 -0
- package/dist/packages/catalog-verifier/src/result.js.map +1 -0
- package/package.json +4 -5
- package/dist/contracts/admission-results/src/index.d.ts +0 -448
- package/dist/contracts/admission-results/src/index.d.ts.map +0 -1
- package/dist/contracts/admission-results/src/index.js +0 -259
- package/dist/contracts/admission-results/src/index.js.map +0 -1
- package/dist/contracts/agent-readiness/src/authority.d.ts +0 -51
- package/dist/contracts/agent-readiness/src/authority.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/authority.js +0 -36
- package/dist/contracts/agent-readiness/src/authority.js.map +0 -1
- package/dist/contracts/agent-readiness/src/checks.d.ts +0 -26
- package/dist/contracts/agent-readiness/src/checks.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/checks.js +0 -56
- package/dist/contracts/agent-readiness/src/checks.js.map +0 -1
- package/dist/contracts/agent-readiness/src/client.d.ts +0 -30
- package/dist/contracts/agent-readiness/src/client.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/client.js +0 -25
- package/dist/contracts/agent-readiness/src/client.js.map +0 -1
- package/dist/contracts/agent-readiness/src/declaration-acquisition.d.ts +0 -695
- package/dist/contracts/agent-readiness/src/declaration-acquisition.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/declaration-acquisition.js +0 -169
- package/dist/contracts/agent-readiness/src/declaration-acquisition.js.map +0 -1
- package/dist/contracts/agent-readiness/src/grade-policy.d.ts +0 -263
- package/dist/contracts/agent-readiness/src/grade-policy.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/grade-policy.js +0 -125
- package/dist/contracts/agent-readiness/src/grade-policy.js.map +0 -1
- package/dist/contracts/agent-readiness/src/index.d.ts +0 -19
- package/dist/contracts/agent-readiness/src/index.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/index.js +0 -16
- package/dist/contracts/agent-readiness/src/index.js.map +0 -1
- package/dist/contracts/agent-readiness/src/offer-relations.d.ts +0 -951
- package/dist/contracts/agent-readiness/src/offer-relations.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/offer-relations.js +0 -197
- package/dist/contracts/agent-readiness/src/offer-relations.js.map +0 -1
- package/dist/contracts/agent-readiness/src/release-index.d.ts +0 -1790
- package/dist/contracts/agent-readiness/src/release-index.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/release-index.js +0 -143
- package/dist/contracts/agent-readiness/src/release-index.js.map +0 -1
- package/dist/contracts/agent-readiness/src/revision.d.ts +0 -2721
- package/dist/contracts/agent-readiness/src/revision.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/revision.js +0 -478
- package/dist/contracts/agent-readiness/src/revision.js.map +0 -1
- package/dist/contracts/agent-readiness/src/run.d.ts +0 -749
- package/dist/contracts/agent-readiness/src/run.d.ts.map +0 -1
- package/dist/contracts/agent-readiness/src/run.js +0 -588
- package/dist/contracts/agent-readiness/src/run.js.map +0 -1
- package/dist/contracts/api/src/endpoints.d.ts +0 -44819
- package/dist/contracts/api/src/endpoints.d.ts.map +0 -1
- package/dist/contracts/api/src/endpoints.js +0 -643
- package/dist/contracts/api/src/endpoints.js.map +0 -1
- package/dist/contracts/api/src/index.d.ts +0 -10
- package/dist/contracts/api/src/index.d.ts.map +0 -1
- package/dist/contracts/api/src/index.js +0 -6
- package/dist/contracts/api/src/index.js.map +0 -1
- package/dist/contracts/api/src/read.d.ts +0 -13837
- package/dist/contracts/api/src/read.d.ts.map +0 -1
- package/dist/contracts/api/src/read.js +0 -519
- package/dist/contracts/api/src/read.js.map +0 -1
- package/dist/contracts/api/src/routes.d.ts +0 -1885
- package/dist/contracts/api/src/routes.d.ts.map +0 -1
- package/dist/contracts/api/src/routes.js +0 -136
- package/dist/contracts/api/src/routes.js.map +0 -1
- package/dist/contracts/api/src/submissions.d.ts +0 -2052
- package/dist/contracts/api/src/submissions.d.ts.map +0 -1
- package/dist/contracts/api/src/submissions.js +0 -286
- package/dist/contracts/api/src/submissions.js.map +0 -1
- package/dist/contracts/api/src/values.d.ts +0 -26
- package/dist/contracts/api/src/values.d.ts.map +0 -1
- package/dist/contracts/api/src/values.js +0 -30
- package/dist/contracts/api/src/values.js.map +0 -1
- package/dist/contracts/artifact/src/distribution.d.ts +0 -17
- package/dist/contracts/artifact/src/distribution.d.ts.map +0 -1
- package/dist/contracts/artifact/src/distribution.js +0 -57
- package/dist/contracts/artifact/src/distribution.js.map +0 -1
- package/dist/contracts/artifact/src/index.d.ts +0 -2315
- package/dist/contracts/artifact/src/index.d.ts.map +0 -1
- package/dist/contracts/artifact/src/index.js +0 -354
- package/dist/contracts/artifact/src/index.js.map +0 -1
- package/dist/contracts/assets/src/index.d.ts +0 -1298
- package/dist/contracts/assets/src/index.d.ts.map +0 -1
- package/dist/contracts/assets/src/index.js +0 -577
- package/dist/contracts/assets/src/index.js.map +0 -1
- package/dist/contracts/assurance/src/index.d.ts +0 -148
- package/dist/contracts/assurance/src/index.d.ts.map +0 -1
- package/dist/contracts/assurance/src/index.js +0 -147
- package/dist/contracts/assurance/src/index.js.map +0 -1
- package/dist/contracts/billing/src/index.d.ts +0 -462
- package/dist/contracts/billing/src/index.d.ts.map +0 -1
- package/dist/contracts/billing/src/index.js +0 -242
- package/dist/contracts/billing/src/index.js.map +0 -1
- package/dist/contracts/capture/src/index.d.ts +0 -17
- package/dist/contracts/capture/src/index.d.ts.map +0 -1
- package/dist/contracts/capture/src/index.js +0 -15
- package/dist/contracts/capture/src/index.js.map +0 -1
- package/dist/contracts/capture/src/method-names.d.ts +0 -4
- package/dist/contracts/capture/src/method-names.d.ts.map +0 -1
- package/dist/contracts/capture/src/method-names.js +0 -4
- package/dist/contracts/capture/src/method-names.js.map +0 -1
- package/dist/contracts/capture/src/methods.d.ts +0 -7
- package/dist/contracts/capture/src/methods.d.ts.map +0 -1
- package/dist/contracts/capture/src/methods.js +0 -18
- package/dist/contracts/capture/src/methods.js.map +0 -1
- package/dist/contracts/company-authoring/src/index.d.ts +0 -72
- package/dist/contracts/company-authoring/src/index.d.ts.map +0 -1
- package/dist/contracts/company-authoring/src/index.js +0 -41
- package/dist/contracts/company-authoring/src/index.js.map +0 -1
- package/dist/contracts/company-standing/src/index.d.ts +0 -143
- package/dist/contracts/company-standing/src/index.d.ts.map +0 -1
- package/dist/contracts/company-standing/src/index.js +0 -146
- package/dist/contracts/company-standing/src/index.js.map +0 -1
- package/dist/contracts/company-verification/src/commercial.d.ts +0 -571
- package/dist/contracts/company-verification/src/commercial.d.ts.map +0 -1
- package/dist/contracts/company-verification/src/commercial.js +0 -273
- package/dist/contracts/company-verification/src/commercial.js.map +0 -1
- package/dist/contracts/company-verification/src/index.d.ts +0 -94
- package/dist/contracts/company-verification/src/index.d.ts.map +0 -1
- package/dist/contracts/company-verification/src/index.js +0 -138
- package/dist/contracts/company-verification/src/index.js.map +0 -1
- package/dist/contracts/datasets/src/index.d.ts +0 -868
- package/dist/contracts/datasets/src/index.d.ts.map +0 -1
- package/dist/contracts/datasets/src/index.js +0 -80
- package/dist/contracts/datasets/src/index.js.map +0 -1
- package/dist/contracts/events/src/index.d.ts +0 -749
- package/dist/contracts/events/src/index.d.ts.map +0 -1
- package/dist/contracts/events/src/index.js +0 -640
- package/dist/contracts/events/src/index.js.map +0 -1
- package/dist/contracts/evidence/src/index.d.ts +0 -302
- package/dist/contracts/evidence/src/index.d.ts.map +0 -1
- package/dist/contracts/evidence/src/index.js +0 -346
- package/dist/contracts/evidence/src/index.js.map +0 -1
- package/dist/contracts/feed/src/index.d.ts +0 -156
- package/dist/contracts/feed/src/index.d.ts.map +0 -1
- package/dist/contracts/feed/src/index.js +0 -79
- package/dist/contracts/feed/src/index.js.map +0 -1
- package/dist/contracts/funded-work/src/index.d.ts +0 -64
- package/dist/contracts/funded-work/src/index.d.ts.map +0 -1
- package/dist/contracts/funded-work/src/index.js +0 -68
- package/dist/contracts/funded-work/src/index.js.map +0 -1
- package/dist/contracts/observations/src/index.d.ts +0 -155
- package/dist/contracts/observations/src/index.d.ts.map +0 -1
- package/dist/contracts/observations/src/index.js +0 -110
- package/dist/contracts/observations/src/index.js.map +0 -1
- package/dist/contracts/policies/src/index.d.ts +0 -152
- package/dist/contracts/policies/src/index.d.ts.map +0 -1
- package/dist/contracts/policies/src/index.js +0 -125
- package/dist/contracts/policies/src/index.js.map +0 -1
- package/dist/contracts/publication/src/index.d.ts +0 -5590
- package/dist/contracts/publication/src/index.d.ts.map +0 -1
- package/dist/contracts/publication/src/index.js +0 -486
- package/dist/contracts/publication/src/index.js.map +0 -1
- package/dist/contracts/release/src/index.d.ts +0 -2559
- package/dist/contracts/release/src/index.d.ts.map +0 -1
- package/dist/contracts/release/src/index.js +0 -243
- package/dist/contracts/release/src/index.js.map +0 -1
- package/dist/contracts/routes/src/index.d.ts +0 -165
- package/dist/contracts/routes/src/index.d.ts.map +0 -1
- package/dist/contracts/routes/src/index.js +0 -290
- package/dist/contracts/routes/src/index.js.map +0 -1
- package/dist/contracts/sourcey-publication/src/index.d.ts +0 -27
- package/dist/contracts/sourcey-publication/src/index.d.ts.map +0 -1
- package/dist/contracts/sourcey-publication/src/index.js +0 -43
- package/dist/contracts/sourcey-publication/src/index.js.map +0 -1
- package/dist/contracts/sourcey-publication/src/instance-id.d.ts +0 -3
- package/dist/contracts/sourcey-publication/src/instance-id.d.ts.map +0 -1
- package/dist/contracts/sourcey-publication/src/instance-id.js +0 -3
- package/dist/contracts/sourcey-publication/src/instance-id.js.map +0 -1
- package/dist/contracts/sourcey-publication/src/ownership.d.ts +0 -13
- package/dist/contracts/sourcey-publication/src/ownership.d.ts.map +0 -1
- package/dist/contracts/sourcey-publication/src/ownership.js +0 -82
- package/dist/contracts/sourcey-publication/src/ownership.js.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/index.d.ts +0 -8
- package/dist/contracts/startup-credits-commercial/src/index.d.ts.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/index.js +0 -5
- package/dist/contracts/startup-credits-commercial/src/index.js.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/product.d.ts +0 -99
- package/dist/contracts/startup-credits-commercial/src/product.d.ts.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/product.js +0 -98
- package/dist/contracts/startup-credits-commercial/src/product.js.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/purchase.d.ts +0 -851
- package/dist/contracts/startup-credits-commercial/src/purchase.d.ts.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/purchase.js +0 -433
- package/dist/contracts/startup-credits-commercial/src/purchase.js.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/requests.d.ts +0 -1275
- package/dist/contracts/startup-credits-commercial/src/requests.d.ts.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/requests.js +0 -367
- package/dist/contracts/startup-credits-commercial/src/requests.js.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/values.d.ts +0 -7
- package/dist/contracts/startup-credits-commercial/src/values.d.ts.map +0 -1
- package/dist/contracts/startup-credits-commercial/src/values.js +0 -9
- package/dist/contracts/startup-credits-commercial/src/values.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/assertions.d.ts +0 -45
- package/dist/modules/agent-readiness-engine/src/assertions.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/assertions.js +0 -252
- package/dist/modules/agent-readiness-engine/src/assertions.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/authority.d.ts +0 -81
- package/dist/modules/agent-readiness-engine/src/authority.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/authority.js +0 -193
- package/dist/modules/agent-readiness-engine/src/authority.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/binding.d.ts +0 -13
- package/dist/modules/agent-readiness-engine/src/binding.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/binding.js +0 -116
- package/dist/modules/agent-readiness-engine/src/binding.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/challenges.d.ts +0 -13
- package/dist/modules/agent-readiness-engine/src/challenges.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/challenges.js +0 -67
- package/dist/modules/agent-readiness-engine/src/challenges.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/checks.d.ts +0 -88
- package/dist/modules/agent-readiness-engine/src/checks.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/checks.js +0 -237
- package/dist/modules/agent-readiness-engine/src/checks.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/documents.d.ts +0 -21
- package/dist/modules/agent-readiness-engine/src/documents.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/documents.js +0 -69
- package/dist/modules/agent-readiness-engine/src/documents.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/naming.d.ts +0 -21
- package/dist/modules/agent-readiness-engine/src/naming.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/naming.js +0 -29
- package/dist/modules/agent-readiness-engine/src/naming.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/path.d.ts +0 -72
- package/dist/modules/agent-readiness-engine/src/path.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/path.js +0 -424
- package/dist/modules/agent-readiness-engine/src/path.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/profile.d.ts +0 -87
- package/dist/modules/agent-readiness-engine/src/profile.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/profile.js +0 -178
- package/dist/modules/agent-readiness-engine/src/profile.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/rate.d.ts +0 -14
- package/dist/modules/agent-readiness-engine/src/rate.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/rate.js +0 -46
- package/dist/modules/agent-readiness-engine/src/rate.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/records.d.ts +0 -45
- package/dist/modules/agent-readiness-engine/src/records.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/records.js +0 -117
- package/dist/modules/agent-readiness-engine/src/records.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/run.d.ts +0 -9
- package/dist/modules/agent-readiness-engine/src/run.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/run.js +0 -44
- package/dist/modules/agent-readiness-engine/src/run.js.map +0 -1
- package/dist/modules/agent-readiness-engine/src/templates.d.ts +0 -21
- package/dist/modules/agent-readiness-engine/src/templates.d.ts.map +0 -1
- package/dist/modules/agent-readiness-engine/src/templates.js +0 -89
- package/dist/modules/agent-readiness-engine/src/templates.js.map +0 -1
- package/dist/modules/agent-readiness-policy/src/current-policy.d.ts +0 -74
- package/dist/modules/agent-readiness-policy/src/current-policy.d.ts.map +0 -1
- package/dist/modules/agent-readiness-policy/src/current-policy.js +0 -11
- package/dist/modules/agent-readiness-policy/src/current-policy.js.map +0 -1
- package/dist/modules/agent-readiness-policy/src/grade-policy.d.ts +0 -16
- package/dist/modules/agent-readiness-policy/src/grade-policy.d.ts.map +0 -1
- package/dist/modules/agent-readiness-policy/src/grade-policy.js +0 -115
- package/dist/modules/agent-readiness-policy/src/grade-policy.js.map +0 -1
- package/dist/modules/agent-readiness-policy/src/impact.d.ts +0 -24
- package/dist/modules/agent-readiness-policy/src/impact.d.ts.map +0 -1
- package/dist/modules/agent-readiness-policy/src/impact.js +0 -59
- package/dist/modules/agent-readiness-policy/src/impact.js.map +0 -1
- package/dist/modules/agent-readiness-policy/src/index.d.ts +0 -47
- package/dist/modules/agent-readiness-policy/src/index.d.ts.map +0 -1
- package/dist/modules/agent-readiness-policy/src/index.js +0 -214
- package/dist/modules/agent-readiness-policy/src/index.js.map +0 -1
- package/dist/modules/agent-readiness-policy/src/offer-relations.d.ts +0 -16
- package/dist/modules/agent-readiness-policy/src/offer-relations.d.ts.map +0 -1
- package/dist/modules/agent-readiness-policy/src/offer-relations.js +0 -96
- package/dist/modules/agent-readiness-policy/src/offer-relations.js.map +0 -1
- package/dist/modules/agent-readiness-policy/src/prior-projection.d.ts +0 -3
- package/dist/modules/agent-readiness-policy/src/prior-projection.d.ts.map +0 -1
- package/dist/modules/agent-readiness-policy/src/prior-projection.js +0 -11
- package/dist/modules/agent-readiness-policy/src/prior-projection.js.map +0 -1
- package/dist/modules/agent-readiness-policy/src/revision.d.ts +0 -15
- package/dist/modules/agent-readiness-policy/src/revision.d.ts.map +0 -1
- package/dist/modules/agent-readiness-policy/src/revision.js +0 -95
- package/dist/modules/agent-readiness-policy/src/revision.js.map +0 -1
- package/dist/modules/artifact/src/agent-readiness-closure.d.ts +0 -20
- package/dist/modules/artifact/src/agent-readiness-closure.d.ts.map +0 -1
- package/dist/modules/artifact/src/agent-readiness-closure.js +0 -75
- package/dist/modules/artifact/src/agent-readiness-closure.js.map +0 -1
- package/dist/modules/artifact/src/asset-closure.d.ts +0 -17
- package/dist/modules/artifact/src/asset-closure.d.ts.map +0 -1
- package/dist/modules/artifact/src/asset-closure.js +0 -44
- package/dist/modules/artifact/src/asset-closure.js.map +0 -1
- package/dist/modules/artifact/src/authoring-closure.d.ts +0 -4
- package/dist/modules/artifact/src/authoring-closure.d.ts.map +0 -1
- package/dist/modules/artifact/src/authoring-closure.js +0 -19
- package/dist/modules/artifact/src/authoring-closure.js.map +0 -1
- package/dist/modules/artifact/src/index.d.ts +0 -53
- package/dist/modules/artifact/src/index.d.ts.map +0 -1
- package/dist/modules/artifact/src/index.js +0 -379
- package/dist/modules/artifact/src/index.js.map +0 -1
- package/dist/modules/artifact/src/policy-closure.d.ts +0 -12
- package/dist/modules/artifact/src/policy-closure.d.ts.map +0 -1
- package/dist/modules/artifact/src/policy-closure.js +0 -48
- package/dist/modules/artifact/src/policy-closure.js.map +0 -1
- package/dist/modules/artifact/src/release-directory-files.d.ts +0 -16
- package/dist/modules/artifact/src/release-directory-files.d.ts.map +0 -1
- package/dist/modules/artifact/src/release-directory-files.js +0 -34
- package/dist/modules/artifact/src/release-directory-files.js.map +0 -1
- package/dist/modules/artifact/src/trust-history.d.ts +0 -3
- package/dist/modules/artifact/src/trust-history.d.ts.map +0 -1
- package/dist/modules/artifact/src/trust-history.js +0 -134
- package/dist/modules/artifact/src/trust-history.js.map +0 -1
- package/dist/modules/assets/src/authority-bundle.d.ts +0 -46
- package/dist/modules/assets/src/authority-bundle.d.ts.map +0 -1
- package/dist/modules/assets/src/authority-bundle.js +0 -227
- package/dist/modules/assets/src/authority-bundle.js.map +0 -1
- package/dist/modules/assets/src/delta.d.ts +0 -45
- package/dist/modules/assets/src/delta.d.ts.map +0 -1
- package/dist/modules/assets/src/delta.js +0 -141
- package/dist/modules/assets/src/delta.js.map +0 -1
- package/dist/modules/assets/src/disposition.d.ts +0 -3
- package/dist/modules/assets/src/disposition.d.ts.map +0 -1
- package/dist/modules/assets/src/disposition.js +0 -30
- package/dist/modules/assets/src/disposition.js.map +0 -1
- package/dist/modules/assets/src/index.d.ts +0 -25
- package/dist/modules/assets/src/index.d.ts.map +0 -1
- package/dist/modules/assets/src/index.js +0 -243
- package/dist/modules/assets/src/index.js.map +0 -1
- package/dist/modules/assets/src/ingestion.d.ts +0 -70
- package/dist/modules/assets/src/ingestion.d.ts.map +0 -1
- package/dist/modules/assets/src/ingestion.js +0 -169
- package/dist/modules/assets/src/ingestion.js.map +0 -1
- package/dist/modules/assurance/src/index.d.ts +0 -22
- package/dist/modules/assurance/src/index.d.ts.map +0 -1
- package/dist/modules/assurance/src/index.js +0 -73
- package/dist/modules/assurance/src/index.js.map +0 -1
- package/dist/modules/authority/src/index.d.ts +0 -48
- package/dist/modules/authority/src/index.d.ts.map +0 -1
- package/dist/modules/authority/src/index.js +0 -298
- package/dist/modules/authority/src/index.js.map +0 -1
- package/dist/modules/authority-state/src/index.d.ts +0 -44
- package/dist/modules/authority-state/src/index.d.ts.map +0 -1
- package/dist/modules/authority-state/src/index.js +0 -190
- package/dist/modules/authority-state/src/index.js.map +0 -1
- package/dist/modules/catalog-admission/src/change-analysis.d.ts +0 -54
- package/dist/modules/catalog-admission/src/change-analysis.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/change-analysis.js +0 -116
- package/dist/modules/catalog-admission/src/change-analysis.js.map +0 -1
- package/dist/modules/catalog-admission/src/index.d.ts +0 -221
- package/dist/modules/catalog-admission/src/index.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/index.js +0 -470
- package/dist/modules/catalog-admission/src/index.js.map +0 -1
- package/dist/modules/catalog-admission/src/machine-admission.d.ts +0 -3252
- package/dist/modules/catalog-admission/src/machine-admission.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/machine-admission.js +0 -424
- package/dist/modules/catalog-admission/src/machine-admission.js.map +0 -1
- package/dist/modules/catalog-admission/src/publication-assets.d.ts +0 -5
- package/dist/modules/catalog-admission/src/publication-assets.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/publication-assets.js +0 -26
- package/dist/modules/catalog-admission/src/publication-assets.js.map +0 -1
- package/dist/modules/catalog-admission/src/publication-authorities.d.ts +0 -6
- package/dist/modules/catalog-admission/src/publication-authorities.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/publication-authorities.js +0 -28
- package/dist/modules/catalog-admission/src/publication-authorities.js.map +0 -1
- package/dist/modules/catalog-admission/src/publication-composition.d.ts +0 -437
- package/dist/modules/catalog-admission/src/publication-composition.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/publication-composition.js +0 -290
- package/dist/modules/catalog-admission/src/publication-composition.js.map +0 -1
- package/dist/modules/catalog-admission/src/publication-dependencies.d.ts +0 -103
- package/dist/modules/catalog-admission/src/publication-dependencies.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/publication-dependencies.js +0 -175
- package/dist/modules/catalog-admission/src/publication-dependencies.js.map +0 -1
- package/dist/modules/catalog-admission/src/publication-entities.d.ts +0 -8
- package/dist/modules/catalog-admission/src/publication-entities.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/publication-entities.js +0 -48
- package/dist/modules/catalog-admission/src/publication-entities.js.map +0 -1
- package/dist/modules/catalog-admission/src/publication-state.d.ts +0 -19
- package/dist/modules/catalog-admission/src/publication-state.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/publication-state.js +0 -97
- package/dist/modules/catalog-admission/src/publication-state.js.map +0 -1
- package/dist/modules/catalog-admission/src/publication.d.ts +0 -89
- package/dist/modules/catalog-admission/src/publication.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/publication.js +0 -532
- package/dist/modules/catalog-admission/src/publication.js.map +0 -1
- package/dist/modules/catalog-admission/src/submission-input.d.ts +0 -44
- package/dist/modules/catalog-admission/src/submission-input.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/submission-input.js +0 -174
- package/dist/modules/catalog-admission/src/submission-input.js.map +0 -1
- package/dist/modules/catalog-admission/src/submission-state.d.ts +0 -9
- package/dist/modules/catalog-admission/src/submission-state.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/submission-state.js +0 -24
- package/dist/modules/catalog-admission/src/submission-state.js.map +0 -1
- package/dist/modules/catalog-admission/src/submission.d.ts +0 -157
- package/dist/modules/catalog-admission/src/submission.d.ts.map +0 -1
- package/dist/modules/catalog-admission/src/submission.js +0 -346
- package/dist/modules/catalog-admission/src/submission.js.map +0 -1
- package/dist/modules/catalog-query/src/contracts.d.ts +0 -13
- package/dist/modules/catalog-query/src/contracts.d.ts.map +0 -1
- package/dist/modules/catalog-query/src/contracts.js +0 -13
- package/dist/modules/catalog-query/src/contracts.js.map +0 -1
- package/dist/modules/catalog-read-port/src/index.d.ts +0 -34
- package/dist/modules/catalog-read-port/src/index.d.ts.map +0 -1
- package/dist/modules/catalog-read-port/src/index.js +0 -2
- package/dist/modules/catalog-read-port/src/index.js.map +0 -1
- package/dist/modules/evidence-comparison/src/domains.d.ts +0 -8
- package/dist/modules/evidence-comparison/src/domains.d.ts.map +0 -1
- package/dist/modules/evidence-comparison/src/domains.js +0 -16
- package/dist/modules/evidence-comparison/src/domains.js.map +0 -1
- package/dist/modules/evidence-operations/src/attested-capture.d.ts +0 -75
- package/dist/modules/evidence-operations/src/attested-capture.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/attested-capture.js +0 -227
- package/dist/modules/evidence-operations/src/attested-capture.js.map +0 -1
- package/dist/modules/evidence-operations/src/configuration.d.ts +0 -100
- package/dist/modules/evidence-operations/src/configuration.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/configuration.js +0 -199
- package/dist/modules/evidence-operations/src/configuration.js.map +0 -1
- package/dist/modules/evidence-operations/src/evidence-authority-materialization.d.ts +0 -53
- package/dist/modules/evidence-operations/src/evidence-authority-materialization.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/evidence-authority-materialization.js +0 -161
- package/dist/modules/evidence-operations/src/evidence-authority-materialization.js.map +0 -1
- package/dist/modules/evidence-operations/src/evidence-authority.d.ts +0 -669
- package/dist/modules/evidence-operations/src/evidence-authority.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/evidence-authority.js +0 -391
- package/dist/modules/evidence-operations/src/evidence-authority.js.map +0 -1
- package/dist/modules/evidence-operations/src/evidence-normalization.d.ts +0 -46
- package/dist/modules/evidence-operations/src/evidence-normalization.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/evidence-normalization.js +0 -61
- package/dist/modules/evidence-operations/src/evidence-normalization.js.map +0 -1
- package/dist/modules/evidence-operations/src/evidence-revision.d.ts +0 -5
- package/dist/modules/evidence-operations/src/evidence-revision.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/evidence-revision.js +0 -12
- package/dist/modules/evidence-operations/src/evidence-revision.js.map +0 -1
- package/dist/modules/evidence-operations/src/proof-graph.d.ts +0 -32
- package/dist/modules/evidence-operations/src/proof-graph.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/proof-graph.js +0 -208
- package/dist/modules/evidence-operations/src/proof-graph.js.map +0 -1
- package/dist/modules/evidence-operations/src/retained-revision.d.ts +0 -9
- package/dist/modules/evidence-operations/src/retained-revision.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/retained-revision.js +0 -30
- package/dist/modules/evidence-operations/src/retained-revision.js.map +0 -1
- package/dist/modules/evidence-operations/src/source-authority.d.ts +0 -43
- package/dist/modules/evidence-operations/src/source-authority.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/source-authority.js +0 -77
- package/dist/modules/evidence-operations/src/source-authority.js.map +0 -1
- package/dist/modules/evidence-operations/src/submission-verifier.d.ts +0 -350
- package/dist/modules/evidence-operations/src/submission-verifier.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/submission-verifier.js +0 -388
- package/dist/modules/evidence-operations/src/submission-verifier.js.map +0 -1
- package/dist/modules/evidence-operations/src/url-canonicalization.d.ts +0 -3
- package/dist/modules/evidence-operations/src/url-canonicalization.d.ts.map +0 -1
- package/dist/modules/evidence-operations/src/url-canonicalization.js +0 -7
- package/dist/modules/evidence-operations/src/url-canonicalization.js.map +0 -1
- package/dist/modules/projection-identity/src/index.d.ts +0 -14
- package/dist/modules/projection-identity/src/index.d.ts.map +0 -1
- package/dist/modules/projection-identity/src/index.js +0 -23
- package/dist/modules/projection-identity/src/index.js.map +0 -1
- package/dist/modules/provenance/src/evidence-bindings.d.ts +0 -11
- package/dist/modules/provenance/src/evidence-bindings.d.ts.map +0 -1
- package/dist/modules/provenance/src/evidence-bindings.js +0 -49
- package/dist/modules/provenance/src/evidence-bindings.js.map +0 -1
- package/dist/modules/provenance/src/evidence-coverage.d.ts +0 -36
- package/dist/modules/provenance/src/evidence-coverage.d.ts.map +0 -1
- package/dist/modules/provenance/src/evidence-coverage.js +0 -131
- package/dist/modules/provenance/src/evidence-coverage.js.map +0 -1
- package/dist/modules/provenance/src/index.d.ts +0 -80
- package/dist/modules/provenance/src/index.d.ts.map +0 -1
- package/dist/modules/provenance/src/index.js +0 -535
- package/dist/modules/provenance/src/index.js.map +0 -1
- package/dist/modules/provenance/src/material-claims.d.ts +0 -262
- package/dist/modules/provenance/src/material-claims.d.ts.map +0 -1
- package/dist/modules/provenance/src/material-claims.js +0 -383
- package/dist/modules/provenance/src/material-claims.js.map +0 -1
- package/dist/modules/provenance/src/prospective-evidence.d.ts +0 -6
- package/dist/modules/provenance/src/prospective-evidence.d.ts.map +0 -1
- package/dist/modules/provenance/src/prospective-evidence.js +0 -61
- package/dist/modules/provenance/src/prospective-evidence.js.map +0 -1
- package/dist/modules/publication-instance/src/index.d.ts +0 -516
- package/dist/modules/publication-instance/src/index.d.ts.map +0 -1
- package/dist/modules/publication-instance/src/index.js +0 -34
- package/dist/modules/publication-instance/src/index.js.map +0 -1
- package/dist/modules/release/src/agent-readiness-authority.d.ts +0 -71
- package/dist/modules/release/src/agent-readiness-authority.d.ts.map +0 -1
- package/dist/modules/release/src/agent-readiness-authority.js +0 -164
- package/dist/modules/release/src/agent-readiness-authority.js.map +0 -1
- package/dist/modules/release/src/agent-readiness-publication-inputs.d.ts +0 -11
- package/dist/modules/release/src/agent-readiness-publication-inputs.d.ts.map +0 -1
- package/dist/modules/release/src/agent-readiness-publication-inputs.js +0 -45
- package/dist/modules/release/src/agent-readiness-publication-inputs.js.map +0 -1
- package/dist/modules/release/src/agent-readiness-regrade-evidence.d.ts +0 -158
- package/dist/modules/release/src/agent-readiness-regrade-evidence.d.ts.map +0 -1
- package/dist/modules/release/src/agent-readiness-regrade-evidence.js +0 -164
- package/dist/modules/release/src/agent-readiness-regrade-evidence.js.map +0 -1
- package/dist/modules/release/src/asset-delta-verifier.d.ts +0 -13
- package/dist/modules/release/src/asset-delta-verifier.d.ts.map +0 -1
- package/dist/modules/release/src/asset-delta-verifier.js +0 -80
- package/dist/modules/release/src/asset-delta-verifier.js.map +0 -1
- package/dist/modules/release/src/changes.d.ts +0 -23
- package/dist/modules/release/src/changes.d.ts.map +0 -1
- package/dist/modules/release/src/changes.js +0 -376
- package/dist/modules/release/src/changes.js.map +0 -1
- package/dist/modules/release/src/evidence-admission.d.ts +0 -59
- package/dist/modules/release/src/evidence-admission.d.ts.map +0 -1
- package/dist/modules/release/src/evidence-admission.js +0 -531
- package/dist/modules/release/src/evidence-admission.js.map +0 -1
- package/dist/modules/release/src/evidence-bundle-tree.d.ts +0 -14
- package/dist/modules/release/src/evidence-bundle-tree.d.ts.map +0 -1
- package/dist/modules/release/src/evidence-bundle-tree.js +0 -58
- package/dist/modules/release/src/evidence-bundle-tree.js.map +0 -1
- package/dist/modules/release/src/identity.d.ts +0 -17
- package/dist/modules/release/src/identity.d.ts.map +0 -1
- package/dist/modules/release/src/identity.js +0 -480
- package/dist/modules/release/src/identity.js.map +0 -1
- package/dist/modules/release/src/inputs.d.ts +0 -98
- package/dist/modules/release/src/inputs.d.ts.map +0 -1
- package/dist/modules/release/src/inputs.js +0 -338
- package/dist/modules/release/src/inputs.js.map +0 -1
- package/dist/modules/release/src/publication-inputs.d.ts +0 -6
- package/dist/modules/release/src/publication-inputs.d.ts.map +0 -1
- package/dist/modules/release/src/publication-inputs.js +0 -81
- package/dist/modules/release/src/publication-inputs.js.map +0 -1
- package/dist/modules/release/src/transition.d.ts +0 -41
- package/dist/modules/release/src/transition.d.ts.map +0 -1
- package/dist/modules/release/src/transition.js +0 -240
- package/dist/modules/release/src/transition.js.map +0 -1
- package/dist/modules/release/src/verification-changes.d.ts +0 -11
- package/dist/modules/release/src/verification-changes.d.ts.map +0 -1
- package/dist/modules/release/src/verification-changes.js +0 -29
- package/dist/modules/release/src/verification-changes.js.map +0 -1
- package/dist/modules/release/src/verification-policies.d.ts +0 -123
- package/dist/modules/release/src/verification-policies.d.ts.map +0 -1
- package/dist/modules/release/src/verification-policies.js +0 -39
- package/dist/modules/release/src/verification-policies.js.map +0 -1
- package/dist/modules/release/src/verification-transitions.d.ts +0 -27
- package/dist/modules/release/src/verification-transitions.d.ts.map +0 -1
- package/dist/modules/release/src/verification-transitions.js +0 -81
- package/dist/modules/release/src/verification-transitions.js.map +0 -1
- package/dist/modules/sourcey-publication/src/publication-parent-guard.d.ts +0 -17
- package/dist/modules/sourcey-publication/src/publication-parent-guard.d.ts.map +0 -1
- package/dist/modules/sourcey-publication/src/publication-parent-guard.js +0 -18
- package/dist/modules/sourcey-publication/src/publication-parent-guard.js.map +0 -1
- package/dist/modules/sourcey-publication/src/publication-parent-relations.d.ts +0 -24
- package/dist/modules/sourcey-publication/src/publication-parent-relations.d.ts.map +0 -1
- package/dist/modules/sourcey-publication/src/publication-parent-relations.js +0 -104
- package/dist/modules/sourcey-publication/src/publication-parent-relations.js.map +0 -1
- package/dist/modules/sourcey-publication/src/submission-verification.d.ts +0 -25
- package/dist/modules/sourcey-publication/src/submission-verification.d.ts.map +0 -1
- package/dist/modules/sourcey-publication/src/submission-verification.js +0 -45
- package/dist/modules/sourcey-publication/src/submission-verification.js.map +0 -1
- package/dist/modules/sourcey-publication/src/verifier.d.ts +0 -54
- package/dist/modules/sourcey-publication/src/verifier.d.ts.map +0 -1
- package/dist/modules/sourcey-publication/src/verifier.js +0 -555
- package/dist/modules/sourcey-publication/src/verifier.js.map +0 -1
- package/dist/packages/catalog-verifier/src/index.d.ts +0 -10
- package/dist/packages/catalog-verifier/src/index.d.ts.map +0 -1
- package/dist/packages/catalog-verifier/src/index.js +0 -10
- package/dist/packages/catalog-verifier/src/index.js.map +0 -1
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { digest, parseJsonFile } from "provenry/primitives";
|
|
2
|
-
import { coveragePolicyCoreSchema, coveragePolicySchema, freshnessPolicyCoreSchema, freshnessPolicySchema, } from "../../../contracts/policies/src/index.js";
|
|
3
|
-
import { RELEASE_RESOURCES, releasePolicyObjectPath, releaseResourceDigest, } from "../../../contracts/release/src/index.js";
|
|
4
|
-
import { releasePolicyInputsSchema } from "../../../contracts/sourcey-publication/src/index.js";
|
|
5
|
-
import { verifyAgentReadinessPolicy } from "../../agent-readiness-policy/src/grade-policy.js";
|
|
6
|
-
import { validateAssuranceMethodPolicy } from "../../assurance/src/index.js";
|
|
7
|
-
import { CATALOG_RELEASE } from "./release-directory-files.js";
|
|
8
|
-
/**
|
|
9
|
-
* Proves that every policy pin, addressed policy object, Artifact projection,
|
|
10
|
-
* and closed policy-input declaration names the same content-addressed bytes.
|
|
11
|
-
*/
|
|
12
|
-
export function assertReleasedPolicyClosure(input) {
|
|
13
|
-
const policyObject = (resource) => parseJsonFile(input.files, releasePolicyObjectPath(releaseResourceDigest(input.bundle.resource_digests, resource)), CATALOG_RELEASE);
|
|
14
|
-
const agentReadinessPolicy = verifyAgentReadinessPolicy(policyObject(RELEASE_RESOURCES.agentReadinessPolicy));
|
|
15
|
-
const assuranceMethodPolicy = validateAssuranceMethodPolicy(policyObject(RELEASE_RESOURCES.assuranceMethodPolicy));
|
|
16
|
-
const coveragePolicy = coveragePolicySchema.parse(policyObject(RELEASE_RESOURCES.coveragePolicy));
|
|
17
|
-
const freshnessPolicy = freshnessPolicySchema.parse(policyObject(RELEASE_RESOURCES.freshnessPolicy));
|
|
18
|
-
const { policy_digest: coveragePolicyDigest, ...coveragePolicyCore } = coveragePolicy;
|
|
19
|
-
const { policy_digest: freshnessPolicyDigest, ...freshnessPolicyCore } = freshnessPolicy;
|
|
20
|
-
if (digest(coveragePolicyCoreSchema.parse(coveragePolicyCore)) !== coveragePolicyDigest ||
|
|
21
|
-
digest(freshnessPolicyCoreSchema.parse(freshnessPolicyCore)) !== freshnessPolicyDigest) {
|
|
22
|
-
throw new Error("Release coverage or freshness policy is not content-addressed.");
|
|
23
|
-
}
|
|
24
|
-
const releasePolicies = {
|
|
25
|
-
[RELEASE_RESOURCES.agentReadinessPolicy]: agentReadinessPolicy.policy_digest,
|
|
26
|
-
[RELEASE_RESOURCES.assuranceMethodPolicy]: assuranceMethodPolicy.policy_digest,
|
|
27
|
-
[RELEASE_RESOURCES.coveragePolicy]: coveragePolicy.policy_digest,
|
|
28
|
-
[RELEASE_RESOURCES.freshnessPolicy]: freshnessPolicy.policy_digest,
|
|
29
|
-
};
|
|
30
|
-
for (const [resource, policyDigest] of Object.entries(releasePolicies)) {
|
|
31
|
-
if (input.bundle.resource_digests[resource] !== policyDigest ||
|
|
32
|
-
input.artifactPolicyDigests[resource] !== policyDigest) {
|
|
33
|
-
throw new Error(`Release policy ${resource} disagrees with its Artifact and bundle pins.`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
const policyInputs = releasePolicyInputsSchema.parse(parseJsonFile(input.files, "inputs/policies.json", CATALOG_RELEASE));
|
|
37
|
-
if (digest(policyInputs) !==
|
|
38
|
-
releaseResourceDigest(input.snapshotResourceDigests, RELEASE_RESOURCES.policyInputs)) {
|
|
39
|
-
throw new Error("Release policy inputs digest mismatch.");
|
|
40
|
-
}
|
|
41
|
-
if (policyInputs.agent_readiness_policy_digest !== agentReadinessPolicy.policy_digest ||
|
|
42
|
-
policyInputs.assurance_method_policy_digest !== assuranceMethodPolicy.policy_digest ||
|
|
43
|
-
policyInputs.coverage_policy_digest !== coveragePolicy.policy_digest ||
|
|
44
|
-
policyInputs.freshness_policy_digest !== freshnessPolicy.policy_digest) {
|
|
45
|
-
throw new Error("Release policy inputs disagree with the admitted policy objects.");
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=policy-closure.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy-closure.js","sourceRoot":"","sources":["../../../../modules/artifact/src/policy-closure.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type Digest } from "provenry/primitives";
|
|
2
|
-
import type { Observation } from "../../../contracts/observations/src/index.js";
|
|
3
|
-
import { type CatalogReleaseBundle } from "../../../contracts/release/src/index.js";
|
|
4
|
-
/** How errors name the file set of one Catalog release. */
|
|
5
|
-
export declare const CATALOG_RELEASE = "Catalog release";
|
|
6
|
-
export declare function addressFromReleaseJsonPath(path: string): Digest;
|
|
7
|
-
/**
|
|
8
|
-
* The public evidence bytes a verified release carries for its observations. The
|
|
9
|
-
* envelope proved every file against its declaration, so a declared digest equal
|
|
10
|
-
* to the object's address proves the bytes without hashing them again.
|
|
11
|
-
*/
|
|
12
|
-
export declare function releasedEvidenceObjects(observations: readonly Observation[], files: ReadonlyMap<string, Buffer>, declarations: CatalogReleaseBundle["files"]): {
|
|
13
|
-
readonly captures: ReadonlyMap<Digest, Buffer>;
|
|
14
|
-
readonly normalizedObjects: ReadonlyMap<Digest, Buffer>;
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=release-directory-files.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release-directory-files.d.ts","sourceRoot":"","sources":["../../../../modules/artifact/src/release-directory-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAyB,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EACL,KAAK,oBAAoB,EAG1B,MAAM,yCAAyC,CAAC;AAEjD,2DAA2D;AAC3D,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,YAAY,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAC1C;IACD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzD,CAiBA"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { basename } from "node:path";
|
|
2
|
-
import { digestFromPathSegment } from "provenry/primitives";
|
|
3
|
-
import { releaseCaptureObjectPath, releaseNormalizedObjectPath, } from "../../../contracts/release/src/index.js";
|
|
4
|
-
/** How errors name the file set of one Catalog release. */
|
|
5
|
-
export const CATALOG_RELEASE = "Catalog release";
|
|
6
|
-
export function addressFromReleaseJsonPath(path) {
|
|
7
|
-
return digestFromPathSegment(basename(path, ".json"));
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* The public evidence bytes a verified release carries for its observations. The
|
|
11
|
-
* envelope proved every file against its declaration, so a declared digest equal
|
|
12
|
-
* to the object's address proves the bytes without hashing them again.
|
|
13
|
-
*/
|
|
14
|
-
export function releasedEvidenceObjects(observations, files, declarations) {
|
|
15
|
-
const captures = new Map();
|
|
16
|
-
const normalizedObjects = new Map();
|
|
17
|
-
const collect = (objects, objectDigest, path) => {
|
|
18
|
-
const bytes = files.get(path);
|
|
19
|
-
if (bytes && declarations[path]?.sha256 === objectDigest)
|
|
20
|
-
objects.set(objectDigest, bytes);
|
|
21
|
-
};
|
|
22
|
-
for (const observation of observations) {
|
|
23
|
-
if (observation.capture?.availability !== "public")
|
|
24
|
-
continue;
|
|
25
|
-
const captureDigest = observation.capture.digest;
|
|
26
|
-
collect(captures, captureDigest, releaseCaptureObjectPath(captureDigest));
|
|
27
|
-
const normalizedDigest = observation.capture.normalized_object?.digest;
|
|
28
|
-
if (normalizedDigest) {
|
|
29
|
-
collect(normalizedObjects, normalizedDigest, releaseNormalizedObjectPath(normalizedDigest));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return { captures, normalizedObjects };
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=release-directory-files.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release-directory-files.js","sourceRoot":"","sources":["../../../../modules/artifact/src/release-directory-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAe,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAEL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,yCAAyC,CAAC;AAEjD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAEjD,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAAoC,EACpC,KAAkC,EAClC,YAA2C;IAK3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,MAAM,OAAO,GAAG,CAAC,OAA4B,EAAE,YAAoB,EAAE,IAAY,EAAE,EAAE;QACnF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,YAAY;YAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7F,CAAC,CAAC;IACF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,WAAW,CAAC,OAAO,EAAE,YAAY,KAAK,QAAQ;YAAE,SAAS;QAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAgB,CAAC;QAC3D,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAA4B,CAAC;QAC7F,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { type RootSet, type SignerRegistry } from "../../../contracts/authority/src/index.js";
|
|
2
|
-
export declare function validateTrustHistory(files: ReadonlyMap<string, Buffer>, currentRootSet: RootSet, currentRegistry: SignerRegistry): Map<string, SignerRegistry>;
|
|
3
|
-
//# sourceMappingURL=trust-history.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trust-history.d.ts","sourceRoot":"","sources":["../../../../modules/artifact/src/trust-history.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,cAAc,EAEpB,MAAM,2CAA2C,CAAC;AAGnD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,cAAc,EAAE,OAAO,EACvB,eAAe,EAAE,cAAc,GAC9B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAiH7B"}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { basename } from "node:path";
|
|
2
|
-
import { digest, digestFromPathSegment } from "provenry/primitives";
|
|
3
|
-
import { rootSetSchema, rootSetTransitionSchema, signerRegistrySchema, } from "../../../contracts/authority/src/index.js";
|
|
4
|
-
import { validateRootSetTransition, validateSignerRegistry } from "../../authority/src/index.js";
|
|
5
|
-
export function validateTrustHistory(files, currentRootSet, currentRegistry) {
|
|
6
|
-
const rootSets = new Map();
|
|
7
|
-
const transitions = new Map();
|
|
8
|
-
const registries = new Map();
|
|
9
|
-
for (const [path, bytes] of files) {
|
|
10
|
-
if (path.startsWith("trust/roots/") && path.endsWith(".json")) {
|
|
11
|
-
const rootSet = rootSetSchema.parse(JSON.parse(bytes.toString("utf8")));
|
|
12
|
-
const rootDigest = digest(rootSet);
|
|
13
|
-
if (addressFromJsonPath(path) !== rootDigest || rootSets.has(rootDigest)) {
|
|
14
|
-
throw new Error(`Trust root ${path} is duplicate or misaddressed.`);
|
|
15
|
-
}
|
|
16
|
-
rootSets.set(rootDigest, rootSet);
|
|
17
|
-
}
|
|
18
|
-
else if (path.startsWith("trust/transitions/") && path.endsWith(".json")) {
|
|
19
|
-
const transition = rootSetTransitionSchema.parse(JSON.parse(bytes.toString("utf8")));
|
|
20
|
-
if (addressFromJsonPath(path) !== transition.transition_digest ||
|
|
21
|
-
digest(withoutKeys(transition, [
|
|
22
|
-
"transition_digest",
|
|
23
|
-
"previous_root_signatures",
|
|
24
|
-
"next_root_signatures",
|
|
25
|
-
])) !== transition.transition_digest ||
|
|
26
|
-
transitions.has(transition.next_root_set_digest)) {
|
|
27
|
-
throw new Error(`Trust transition ${path} is duplicate or misaddressed.`);
|
|
28
|
-
}
|
|
29
|
-
transitions.set(transition.next_root_set_digest, transition);
|
|
30
|
-
}
|
|
31
|
-
else if (path.startsWith("trust/registries/") && path.endsWith(".json")) {
|
|
32
|
-
const signerRegistry = signerRegistrySchema.parse(JSON.parse(bytes.toString("utf8")));
|
|
33
|
-
if (addressFromJsonPath(path) !== signerRegistry.registry_digest ||
|
|
34
|
-
registries.has(signerRegistry.registry_digest)) {
|
|
35
|
-
throw new Error(`Signer registry ${path} is duplicate or misaddressed.`);
|
|
36
|
-
}
|
|
37
|
-
registries.set(signerRegistry.registry_digest, signerRegistry);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const currentRootDigest = digest(currentRootSet);
|
|
41
|
-
if (!rootSets.has(currentRootDigest)) {
|
|
42
|
-
throw new Error("Current trust root is absent from trust history.");
|
|
43
|
-
}
|
|
44
|
-
const trustedRoots = new Map();
|
|
45
|
-
const usedTransitions = new Set();
|
|
46
|
-
let rootDigest = currentRootDigest;
|
|
47
|
-
while (true) {
|
|
48
|
-
const rootSet = rootSets.get(rootDigest);
|
|
49
|
-
if (!rootSet || trustedRoots.has(rootDigest)) {
|
|
50
|
-
throw new Error("Trust-root history is missing or cyclic.");
|
|
51
|
-
}
|
|
52
|
-
trustedRoots.set(rootDigest, rootSet);
|
|
53
|
-
const transition = transitions.get(rootDigest);
|
|
54
|
-
if (!transition)
|
|
55
|
-
break;
|
|
56
|
-
const previousRoot = rootSets.get(transition.previous_root_set_digest);
|
|
57
|
-
if (!previousRoot)
|
|
58
|
-
throw new Error("Trust-root history lacks a transition predecessor.");
|
|
59
|
-
validateRootSetTransition({
|
|
60
|
-
previousRootSet: previousRoot,
|
|
61
|
-
nextRootSet: rootSet,
|
|
62
|
-
transition,
|
|
63
|
-
releaseSequence: transition.effective_release_sequence,
|
|
64
|
-
});
|
|
65
|
-
usedTransitions.add(transition.transition_digest);
|
|
66
|
-
rootDigest = transition.previous_root_set_digest;
|
|
67
|
-
}
|
|
68
|
-
if (trustedRoots.size !== rootSets.size || usedTransitions.size !== transitions.size) {
|
|
69
|
-
throw new Error("Release contains trust roots or transitions outside the current trust lineage.");
|
|
70
|
-
}
|
|
71
|
-
const currentRegistryDigest = currentRegistry.registry_digest;
|
|
72
|
-
if (!registries.has(currentRegistryDigest)) {
|
|
73
|
-
throw new Error("Current signer registry is absent from trust history.");
|
|
74
|
-
}
|
|
75
|
-
const trustedRegistries = new Map();
|
|
76
|
-
let registry = currentRegistry;
|
|
77
|
-
while (registry) {
|
|
78
|
-
if (trustedRegistries.has(registry.registry_digest)) {
|
|
79
|
-
throw new Error("Signer-registry history is cyclic.");
|
|
80
|
-
}
|
|
81
|
-
const validated = validateRegistryUnderTrustedRoot(registry, trustedRoots);
|
|
82
|
-
trustedRegistries.set(validated.registry_digest, validated);
|
|
83
|
-
if (registry.parent_registry_digest === null) {
|
|
84
|
-
if (registry.generation !== 1) {
|
|
85
|
-
throw new Error("Signer-registry history does not terminate at generation one.");
|
|
86
|
-
}
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
const parent = registries.get(registry.parent_registry_digest);
|
|
90
|
-
if (!parent || parent.generation !== registry.generation - 1) {
|
|
91
|
-
throw new Error("Signer-registry history is not adjacent and predecessor-bound.");
|
|
92
|
-
}
|
|
93
|
-
registry = parent;
|
|
94
|
-
}
|
|
95
|
-
for (const candidate of registries.values()) {
|
|
96
|
-
if (trustedRegistries.has(candidate.registry_digest))
|
|
97
|
-
continue;
|
|
98
|
-
if (candidate.parent_registry_digest === null) {
|
|
99
|
-
if (candidate.generation !== 1) {
|
|
100
|
-
throw new Error("Historical signer-registry branches must terminate at generation one.");
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
const parent = registries.get(candidate.parent_registry_digest);
|
|
105
|
-
if (!parent || parent.generation !== candidate.generation - 1) {
|
|
106
|
-
throw new Error("Historical signer-registry branches must be adjacent and complete.");
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
const validated = validateRegistryUnderTrustedRoot(candidate, trustedRoots);
|
|
110
|
-
trustedRegistries.set(validated.registry_digest, validated);
|
|
111
|
-
}
|
|
112
|
-
return trustedRegistries;
|
|
113
|
-
}
|
|
114
|
-
function validateRegistryUnderTrustedRoot(registry, trustedRoots) {
|
|
115
|
-
for (const rootSet of trustedRoots.values()) {
|
|
116
|
-
try {
|
|
117
|
-
return validateSignerRegistry(rootSet, registry);
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
// A historical registry needs to validate under only one root in the trusted lineage.
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
throw new Error(`Signer registry ${registry.registry_digest} has no valid root in the trusted lineage.`);
|
|
124
|
-
}
|
|
125
|
-
function addressFromJsonPath(path) {
|
|
126
|
-
return digestFromPathSegment(basename(path, ".json"));
|
|
127
|
-
}
|
|
128
|
-
function withoutKeys(value, keys) {
|
|
129
|
-
const copy = { ...value };
|
|
130
|
-
for (const key of keys)
|
|
131
|
-
delete copy[key];
|
|
132
|
-
return copy;
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=trust-history.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trust-history.js","sourceRoot":"","sources":["../../../../modules/artifact/src/trust-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { type Digest } from "provenry/primitives";
|
|
2
|
-
import { type AssetAuthorityBundleManifest, type EntityAssetProposal, type EntityAssetReviewArtifact } from "../../../contracts/assets/src/index.js";
|
|
3
|
-
import type { SignerRegistry } from "../../../contracts/authority/src/index.js";
|
|
4
|
-
import { type CatalogEvent, type CatalogEventCore } from "../../../contracts/events/src/index.js";
|
|
5
|
-
import type { CatalogPublicationProposal } from "../../../contracts/publication/src/index.js";
|
|
6
|
-
interface ReadAssetAuthorityBundle {
|
|
7
|
-
readonly manifest: AssetAuthorityBundleManifest;
|
|
8
|
-
readonly proposals: readonly EntityAssetProposal[];
|
|
9
|
-
readonly reviews: readonly EntityAssetReviewArtifact[];
|
|
10
|
-
readonly events: readonly CatalogEvent[];
|
|
11
|
-
readonly safeBytes: ReadonlyMap<Digest, Buffer>;
|
|
12
|
-
}
|
|
13
|
-
export declare function createAssetBindingEventIntent(input: {
|
|
14
|
-
readonly proposal: EntityAssetProposal;
|
|
15
|
-
readonly issuerId: string;
|
|
16
|
-
}): {
|
|
17
|
-
readonly event_id: Digest;
|
|
18
|
-
readonly core: CatalogEventCore;
|
|
19
|
-
};
|
|
20
|
-
export declare function readAssetAuthorityBundle(root: string): Promise<ReadAssetAuthorityBundle>;
|
|
21
|
-
export declare function admitAssetAuthorityBundle(input: {
|
|
22
|
-
readonly bundle: ReadAssetAuthorityBundle;
|
|
23
|
-
readonly existingEvents: readonly CatalogEvent[];
|
|
24
|
-
readonly publicationProposal: CatalogPublicationProposal;
|
|
25
|
-
readonly targetRegistry: SignerRegistry;
|
|
26
|
-
readonly targetReleaseSequence: number;
|
|
27
|
-
}): {
|
|
28
|
-
readonly authoritySetDigest: Digest;
|
|
29
|
-
readonly proposals: readonly EntityAssetProposal[];
|
|
30
|
-
readonly events: readonly CatalogEvent[];
|
|
31
|
-
readonly safeBytes: ReadonlyMap<Digest, Buffer>;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* The converse of one bundle's own check, asserted where every admitted bundle
|
|
35
|
-
* is visible: each declared asset has signed binding authority. Distinct
|
|
36
|
-
* materializations may carry the same exact proposal; each is independently
|
|
37
|
-
* admitted before the release owner composes their byte-identical events.
|
|
38
|
-
*/
|
|
39
|
-
export declare function assertAssetAuthorityCoverage(input: {
|
|
40
|
-
readonly declared: readonly EntityAssetProposal[];
|
|
41
|
-
readonly admitted: readonly {
|
|
42
|
-
readonly proposals: readonly EntityAssetProposal[];
|
|
43
|
-
}[];
|
|
44
|
-
}): void;
|
|
45
|
-
export {};
|
|
46
|
-
//# sourceMappingURL=authority-bundle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authority-bundle.d.ts","sourceRoot":"","sources":["../../../../modules/assets/src/authority-bundle.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,MAAM,EAKZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,4BAA4B,EAGjC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAG/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAItB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAI9F,UAAU,wBAAwB;IAChC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAgCjE;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAiH9F;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,SAAS,YAAY,EAAE,CAAC;IACjD,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC,GAAG;IACF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD,CA6EA;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAA;KAAE,EAAE,CAAC;CACtF,GAAG,IAAI,CAaP"}
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import { readdir, readFile } from "node:fs/promises";
|
|
2
|
-
import { basename, join, relative, sep } from "node:path";
|
|
3
|
-
import { canonicalJson, compareCanonicalStrings, deriveOperationId, digest, digestFromPathSegment, sha256Bytes, } from "provenry/primitives";
|
|
4
|
-
import { assetAuthorityBundleCoreSchema, assetAuthorityBundleManifestSchema, entityAssetReviewArtifactCoreSchema, entityAssetReviewArtifactSchema, } from "../../../contracts/assets/src/index.js";
|
|
5
|
-
import { catalogEventCoreSchema, catalogEventPayloadSchemas, catalogEventSchema, } from "../../../contracts/events/src/index.js";
|
|
6
|
-
import { validateProtectedEvent } from "../../authority/src/index.js";
|
|
7
|
-
import { verifyEntityAssetProposal } from "./index.js";
|
|
8
|
-
export function createAssetBindingEventIntent(input) {
|
|
9
|
-
const proposal = verifyEntityAssetProposal(input.proposal);
|
|
10
|
-
const core = catalogEventCoreSchema.parse({
|
|
11
|
-
event_contract: "sourcey.catalog-event/v1alpha1",
|
|
12
|
-
kind: "asset.bound",
|
|
13
|
-
issuer_id: input.issuerId,
|
|
14
|
-
operation_id: deriveOperationId("sourcey.asset-binding/v1alpha1", {
|
|
15
|
-
proposal_digest: proposal.proposal_digest,
|
|
16
|
-
issuer_id: input.issuerId,
|
|
17
|
-
}),
|
|
18
|
-
subject: {
|
|
19
|
-
subject_type: "entity",
|
|
20
|
-
entity_id: proposal.entity_id,
|
|
21
|
-
},
|
|
22
|
-
occurred_at: proposal.effective_from,
|
|
23
|
-
payload: {
|
|
24
|
-
role: proposal.role,
|
|
25
|
-
asset_object_digest: proposal.asset.asset_object_digest,
|
|
26
|
-
served_derivative_digest: proposal.served_digest,
|
|
27
|
-
authority_basis: proposal.authority_basis,
|
|
28
|
-
...(proposal.authority_claim_id ? { authority_claim_id: proposal.authority_claim_id } : {}),
|
|
29
|
-
approval_receipt_digest: proposal.review.review_artifact_digest,
|
|
30
|
-
approval_scope: proposal.approval_scope,
|
|
31
|
-
source_basis: proposal.source_basis,
|
|
32
|
-
license_basis: proposal.asset.redistribution.basis,
|
|
33
|
-
effective_from: proposal.effective_from,
|
|
34
|
-
...(proposal.expected_current_binding_event_id
|
|
35
|
-
? { superseded_binding_event_id: proposal.expected_current_binding_event_id }
|
|
36
|
-
: {}),
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
return { event_id: digest(core), core };
|
|
40
|
-
}
|
|
41
|
-
export async function readAssetAuthorityBundle(root) {
|
|
42
|
-
const manifestBytes = await readFile(join(root, "manifest.json"));
|
|
43
|
-
const manifest = assetAuthorityBundleManifestSchema.parse(JSON.parse(manifestBytes.toString("utf8")));
|
|
44
|
-
const { bundle_digest: bundleDigest, ...core } = manifest;
|
|
45
|
-
if (digest(assetAuthorityBundleCoreSchema.parse(core)) !== bundleDigest) {
|
|
46
|
-
throw new Error("Asset authority bundle is not content addressed.");
|
|
47
|
-
}
|
|
48
|
-
const expectedPaths = ["manifest.json", ...Object.keys(manifest.objects)].sort(compareCanonicalStrings);
|
|
49
|
-
const actualPaths = (await filesUnder(root))
|
|
50
|
-
.map((path) => relative(root, path).split(sep).join("/"))
|
|
51
|
-
.sort(compareCanonicalStrings);
|
|
52
|
-
if (canonicalJson(actualPaths) !== canonicalJson(expectedPaths)) {
|
|
53
|
-
throw new Error("Asset authority bundle has an unexpected file set.");
|
|
54
|
-
}
|
|
55
|
-
const objects = new Map();
|
|
56
|
-
for (const [path, declaration] of Object.entries(manifest.objects)) {
|
|
57
|
-
assertSafeRelativePath(path);
|
|
58
|
-
const bytes = await readFile(join(root, path));
|
|
59
|
-
if (bytes.byteLength !== declaration.bytes || sha256Bytes(bytes) !== declaration.sha256) {
|
|
60
|
-
throw new Error(`Asset authority bundle object ${path} differs.`);
|
|
61
|
-
}
|
|
62
|
-
objects.set(path, bytes);
|
|
63
|
-
}
|
|
64
|
-
const proposals = [...objects.entries()]
|
|
65
|
-
.filter(([path]) => path.startsWith("proposals/"))
|
|
66
|
-
.map(([path, bytes]) => {
|
|
67
|
-
const proposal = verifyEntityAssetProposal(JSON.parse(bytes.toString("utf8")));
|
|
68
|
-
if (proposal.proposal_digest !== digestFromPathSegment(basename(path, ".json"))) {
|
|
69
|
-
throw new Error(`Asset proposal ${path} is stored under the wrong address.`);
|
|
70
|
-
}
|
|
71
|
-
return proposal;
|
|
72
|
-
})
|
|
73
|
-
.sort((left, right) => compareCanonicalStrings(left.proposal_digest, right.proposal_digest));
|
|
74
|
-
const events = [...objects.entries()]
|
|
75
|
-
.filter(([path]) => path.startsWith("events/"))
|
|
76
|
-
.map(([path, bytes]) => {
|
|
77
|
-
const event = catalogEventSchema.parse(JSON.parse(bytes.toString("utf8")));
|
|
78
|
-
if (event.event_id !== digestFromPathSegment(basename(path, ".json"))) {
|
|
79
|
-
throw new Error(`Asset event ${path} is stored under the wrong address.`);
|
|
80
|
-
}
|
|
81
|
-
return event;
|
|
82
|
-
})
|
|
83
|
-
.sort((left, right) => compareCanonicalStrings(left.event_id, right.event_id));
|
|
84
|
-
const reviews = [...objects.entries()]
|
|
85
|
-
.filter(([path]) => path.startsWith("reviews/"))
|
|
86
|
-
.map(([path, bytes]) => {
|
|
87
|
-
const review = entityAssetReviewArtifactSchema.parse(JSON.parse(bytes.toString("utf8")));
|
|
88
|
-
const { review_artifact_digest: reviewDigest, ...reviewCore } = review;
|
|
89
|
-
if (digest(entityAssetReviewArtifactCoreSchema.parse(reviewCore)) !== reviewDigest ||
|
|
90
|
-
reviewDigest !== digestFromPathSegment(basename(path, ".json"))) {
|
|
91
|
-
throw new Error(`Asset review ${path} is stored under the wrong address.`);
|
|
92
|
-
}
|
|
93
|
-
return review;
|
|
94
|
-
})
|
|
95
|
-
.sort((left, right) => compareCanonicalStrings(left.review_artifact_digest, right.review_artifact_digest));
|
|
96
|
-
const safeBytes = new Map();
|
|
97
|
-
for (const [path, bytes] of objects) {
|
|
98
|
-
if (!path.startsWith("assets/sha256/"))
|
|
99
|
-
continue;
|
|
100
|
-
const objectDigest = digestFromPathSegment(basename(path));
|
|
101
|
-
if (sha256Bytes(bytes) !== objectDigest) {
|
|
102
|
-
throw new Error(`Safe asset ${path} is stored under the wrong address.`);
|
|
103
|
-
}
|
|
104
|
-
safeBytes.set(objectDigest, bytes);
|
|
105
|
-
}
|
|
106
|
-
if (canonicalJson(proposals.map((proposal) => proposal.proposal_digest)) !==
|
|
107
|
-
canonicalJson(manifest.asset_proposal_digests) ||
|
|
108
|
-
canonicalJson(events.map((event) => event.event_id)) !== canonicalJson(manifest.event_ids)) {
|
|
109
|
-
throw new Error("Asset authority bundle manifest disagrees with its objects.");
|
|
110
|
-
}
|
|
111
|
-
for (const proposal of proposals) {
|
|
112
|
-
const bytes = safeBytes.get(proposal.served_digest);
|
|
113
|
-
const variant = proposal.asset.safe_variants.find((candidate) => candidate.digest === proposal.served_digest);
|
|
114
|
-
if (!bytes || !variant || bytes.byteLength !== variant.bytes) {
|
|
115
|
-
throw new Error(`Asset proposal ${proposal.proposal_digest} lacks its exact safe bytes.`);
|
|
116
|
-
}
|
|
117
|
-
const review = reviews.find((candidate) => candidate.review_artifact_digest === proposal.review.review_artifact_digest);
|
|
118
|
-
if (!review || canonicalJson(review) !== canonicalJson(proposal.review)) {
|
|
119
|
-
throw new Error(`Asset proposal ${proposal.proposal_digest} lacks its exact review artifact.`);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
const referencedSafeDigests = new Set(proposals.map(({ served_digest: servedDigest }) => servedDigest));
|
|
123
|
-
if (safeBytes.size !== referencedSafeDigests.size ||
|
|
124
|
-
[...safeBytes.keys()].some((safeDigest) => !referencedSafeDigests.has(safeDigest))) {
|
|
125
|
-
throw new Error("Asset authority bundle contains a missing or unreferenced safe object.");
|
|
126
|
-
}
|
|
127
|
-
if (reviews.length !== proposals.length ||
|
|
128
|
-
new Set(reviews.map(({ review_artifact_digest: reviewDigest }) => reviewDigest)).size !==
|
|
129
|
-
reviews.length) {
|
|
130
|
-
throw new Error("Asset authority bundle must contain one unique review per proposal.");
|
|
131
|
-
}
|
|
132
|
-
return { manifest, proposals, reviews, events, safeBytes };
|
|
133
|
-
}
|
|
134
|
-
export function admitAssetAuthorityBundle(input) {
|
|
135
|
-
// The base is immutable review provenance. The activation proposal binds the
|
|
136
|
-
// current Entity and icon snapshots; each retained event must still satisfy
|
|
137
|
-
// its exact signed registry and the target release sequence below.
|
|
138
|
-
if (input.bundle.manifest.target_signer_registry_digest !== input.targetRegistry.registry_digest) {
|
|
139
|
-
throw new Error("Asset authority bundle targets another signer registry.");
|
|
140
|
-
}
|
|
141
|
-
const declared = new Map(input.publicationProposal.candidate_assets.map((proposal) => [
|
|
142
|
-
proposal.proposal_digest,
|
|
143
|
-
proposal,
|
|
144
|
-
]));
|
|
145
|
-
const undeclared = input.bundle.proposals.filter((proposal) => {
|
|
146
|
-
const match = declared.get(proposal.proposal_digest);
|
|
147
|
-
return match === undefined || canonicalJson(match) !== canonicalJson(proposal);
|
|
148
|
-
});
|
|
149
|
-
if (undeclared.length > 0) {
|
|
150
|
-
throw new Error(`Asset authority bundle carries proposals this publication does not declare: ${undeclared
|
|
151
|
-
.map(({ proposal_digest: proposalDigest }) => proposalDigest)
|
|
152
|
-
.join(", ")}.`);
|
|
153
|
-
}
|
|
154
|
-
const previouslyUsedReviews = new Set(input.existingEvents
|
|
155
|
-
.filter((event) => event.kind === "asset.bound")
|
|
156
|
-
.map((event) => `${event.subject.entity_id}:${catalogEventPayloadSchemas["asset.bound"].parse(event.payload).approval_receipt_digest}`));
|
|
157
|
-
for (const proposal of input.bundle.proposals) {
|
|
158
|
-
if (previouslyUsedReviews.has(`${proposal.entity_id}:${proposal.review.review_artifact_digest}`)) {
|
|
159
|
-
throw new Error(`Asset review ${proposal.review.review_artifact_digest} was already published; rebinding requires a new review.`);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
const expected = new Map(input.bundle.proposals.map((proposal) => {
|
|
163
|
-
const intent = createAssetBindingEventIntent({
|
|
164
|
-
proposal,
|
|
165
|
-
issuerId: input.bundle.manifest.issuer_id,
|
|
166
|
-
});
|
|
167
|
-
return [intent.event_id, intent];
|
|
168
|
-
}));
|
|
169
|
-
if (expected.size !== input.bundle.events.length) {
|
|
170
|
-
throw new Error("Asset authority bundle does not contain one exact event per proposal.");
|
|
171
|
-
}
|
|
172
|
-
for (const inputEvent of input.bundle.events) {
|
|
173
|
-
const event = validateProtectedEvent(inputEvent, input.targetRegistry, input.targetReleaseSequence);
|
|
174
|
-
if (event.protected.signature_purpose !== "catalog-identity") {
|
|
175
|
-
throw new Error("Asset authority event uses the wrong signing purpose.");
|
|
176
|
-
}
|
|
177
|
-
const intent = expected.get(event.event_id);
|
|
178
|
-
if (!intent)
|
|
179
|
-
throw new Error(`Asset authority bundle has unexpected event ${event.event_id}.`);
|
|
180
|
-
const { event_id: _, protected: __, ...eventCore } = event;
|
|
181
|
-
if (canonicalJson(eventCore) !== canonicalJson(intent.core)) {
|
|
182
|
-
throw new Error(`Asset authority event ${event.event_id} differs from its intent.`);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
return {
|
|
186
|
-
authoritySetDigest: input.bundle.manifest.bundle_digest,
|
|
187
|
-
proposals: input.bundle.proposals,
|
|
188
|
-
events: input.bundle.events,
|
|
189
|
-
safeBytes: input.bundle.safeBytes,
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* The converse of one bundle's own check, asserted where every admitted bundle
|
|
194
|
-
* is visible: each declared asset has signed binding authority. Distinct
|
|
195
|
-
* materializations may carry the same exact proposal; each is independently
|
|
196
|
-
* admitted before the release owner composes their byte-identical events.
|
|
197
|
-
*/
|
|
198
|
-
export function assertAssetAuthorityCoverage(input) {
|
|
199
|
-
const carried = input.admitted.flatMap((authority) => authority.proposals.map(({ proposal_digest: proposalDigest }) => proposalDigest));
|
|
200
|
-
const carriedOnce = new Set(carried);
|
|
201
|
-
const uncarried = input.declared
|
|
202
|
-
.map(({ proposal_digest: proposalDigest }) => proposalDigest)
|
|
203
|
-
.filter((proposalDigest) => !carriedOnce.has(proposalDigest));
|
|
204
|
-
if (uncarried.length > 0) {
|
|
205
|
-
throw new Error(`Publication asset proposals lack an admitted authority bundle: ${uncarried.join(", ")}.`);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
function assertSafeRelativePath(path) {
|
|
209
|
-
const segments = path.split("/");
|
|
210
|
-
if (!path ||
|
|
211
|
-
path.startsWith("/") ||
|
|
212
|
-
path.includes("\\") ||
|
|
213
|
-
segments.some((segment) => !segment || segment === "." || segment === "..")) {
|
|
214
|
-
throw new Error(`Asset authority bundle has unsafe object path ${path}.`);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
async function filesUnder(directory) {
|
|
218
|
-
const entries = await readdir(directory, { withFileTypes: true });
|
|
219
|
-
return (await Promise.all(entries.map((entry) => {
|
|
220
|
-
const path = join(directory, entry.name);
|
|
221
|
-
if (entry.isSymbolicLink()) {
|
|
222
|
-
throw new Error(`Asset authority bundle contains a symlink: ${path}.`);
|
|
223
|
-
}
|
|
224
|
-
return entry.isDirectory() ? filesUnder(path) : [path];
|
|
225
|
-
}))).flat();
|
|
226
|
-
}
|
|
227
|
-
//# sourceMappingURL=authority-bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authority-bundle.js","sourceRoot":"","sources":["../../../../modules/assets/src/authority-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { type Digest } from "provenry/primitives";
|
|
2
|
-
import type { AssetBindingProjection, AssetDelta, EntityAssetProposal } from "../../../contracts/assets/src/index.js";
|
|
3
|
-
import type { CatalogEvent } from "../../../contracts/events/src/index.js";
|
|
4
|
-
export declare function buildAssetDelta(input: {
|
|
5
|
-
readonly parentAssetIndexDigest: Digest;
|
|
6
|
-
readonly proposals: readonly EntityAssetProposal[];
|
|
7
|
-
readonly events: readonly CatalogEvent[];
|
|
8
|
-
readonly currentBindings: readonly AssetBindingProjection[];
|
|
9
|
-
readonly removedEntityIds?: readonly string[];
|
|
10
|
-
}): AssetDelta;
|
|
11
|
-
/** The asset index changes a release chains onto its parent asset index. */
|
|
12
|
-
export declare function assetIndexTransitionChanges(delta: AssetDelta): ({
|
|
13
|
-
entity_id: string;
|
|
14
|
-
role: "icon";
|
|
15
|
-
prior_binding_event_id: string | null;
|
|
16
|
-
operation: "remove" | "upsert";
|
|
17
|
-
binding: {
|
|
18
|
-
entity_id: string;
|
|
19
|
-
role: "icon" | "logo-dark" | "logo-light";
|
|
20
|
-
asset_object_digest: string;
|
|
21
|
-
served_digest: string;
|
|
22
|
-
served_path: string;
|
|
23
|
-
media_type: "image/jpeg" | "image/png" | "image/svg+xml" | "image/webp";
|
|
24
|
-
bytes: number;
|
|
25
|
-
width: number;
|
|
26
|
-
height: number;
|
|
27
|
-
authority_basis: "editorial-review" | "licensed-source" | "sourcey-owned" | "vendor-authority";
|
|
28
|
-
authority_claim_id?: string | undefined;
|
|
29
|
-
approval_receipt_digest: string;
|
|
30
|
-
source_basis: string;
|
|
31
|
-
license_basis: string;
|
|
32
|
-
effective_from: string;
|
|
33
|
-
effective_until?: string | undefined;
|
|
34
|
-
binding_event_id: string;
|
|
35
|
-
};
|
|
36
|
-
} | {
|
|
37
|
-
entity_id: string;
|
|
38
|
-
role: "icon";
|
|
39
|
-
prior_binding_event_id: string | null;
|
|
40
|
-
operation: "remove" | "upsert";
|
|
41
|
-
prior_binding_digest: string;
|
|
42
|
-
disposition_event_id: string;
|
|
43
|
-
})[];
|
|
44
|
-
export declare function eventMatchesEntityAssetProposal(event: CatalogEvent, proposal: EntityAssetProposal): boolean;
|
|
45
|
-
//# sourceMappingURL=delta.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../../../modules/assets/src/delta.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,MAAM,EAAU,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EACV,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAK3E,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C,GAAG,UAAU,CAkGb;AAED,4EAA4E;AAC5E,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAa5D;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAkBT"}
|