@emilia-protocol/gate 0.11.0 → 0.14.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 +80 -0
- package/README.md +310 -0
- package/action-control-manifest.js +3 -268
- package/action-escrow-custodian.js +3 -394
- package/action-escrow-evidence.js +3 -858
- package/action-escrow-package.js +3 -1668
- package/action-escrow-postgres.js +3 -337
- package/action-escrow-state.js +3 -396
- package/action-escrow-verifiers.js +3 -331
- package/action-escrow.js +3 -2447
- package/action-packs.js +3 -140
- package/adapters/_kit.js +3 -104
- package/adapters/aws.js +3 -108
- package/adapters/cloudflare.js +3 -54
- package/adapters/gcp.js +3 -70
- package/adapters/github.js +3 -109
- package/adapters/jira.js +3 -55
- package/adapters/k8s.js +3 -70
- package/adapters/linear.js +3 -55
- package/adapters/salesforce.js +3 -55
- package/adapters/stripe.js +3 -81
- package/adapters/supabase.js +3 -121
- package/adapters/terraform.js +3 -59
- package/adapters/vercel.js +3 -84
- package/aec-execution.js +3 -312
- package/breakglass.js +3 -582
- package/capability-receipt.js +4 -0
- package/cf1-conformance.js +3 -106
- package/challenge-store.js +3 -69
- package/control-plane.js +3 -340
- package/coverage.js +3 -721
- package/demo.mjs +1 -1
- package/deployment-attestation.js +3 -247
- package/dist/action-control-manifest.d.ts +82 -0
- package/dist/action-control-manifest.d.ts.map +1 -0
- package/dist/action-control-manifest.js +422 -0
- package/dist/action-control-manifest.js.map +1 -0
- package/dist/action-escrow-custodian.d.ts +74 -0
- package/dist/action-escrow-custodian.d.ts.map +1 -0
- package/dist/action-escrow-custodian.js +363 -0
- package/dist/action-escrow-custodian.js.map +1 -0
- package/dist/action-escrow-evidence.d.ts +130 -0
- package/dist/action-escrow-evidence.d.ts.map +1 -0
- package/dist/action-escrow-evidence.js +1012 -0
- package/dist/action-escrow-evidence.js.map +1 -0
- package/dist/action-escrow-package.d.ts +10 -0
- package/dist/action-escrow-package.d.ts.map +1 -0
- package/dist/action-escrow-package.js +1583 -0
- package/dist/action-escrow-package.js.map +1 -0
- package/dist/action-escrow-postgres.d.ts +62 -0
- package/dist/action-escrow-postgres.d.ts.map +1 -0
- package/dist/action-escrow-postgres.js +339 -0
- package/dist/action-escrow-postgres.js.map +1 -0
- package/dist/action-escrow-state.d.ts +141 -0
- package/dist/action-escrow-state.d.ts.map +1 -0
- package/dist/action-escrow-state.js +413 -0
- package/dist/action-escrow-state.js.map +1 -0
- package/dist/action-escrow-verifiers.d.ts +65 -0
- package/dist/action-escrow-verifiers.d.ts.map +1 -0
- package/dist/action-escrow-verifiers.js +421 -0
- package/dist/action-escrow-verifiers.js.map +1 -0
- package/dist/action-escrow.d.ts +112 -0
- package/dist/action-escrow.d.ts.map +1 -0
- package/dist/action-escrow.js +2661 -0
- package/dist/action-escrow.js.map +1 -0
- package/dist/action-packs.d.ts +54 -0
- package/dist/action-packs.d.ts.map +1 -0
- package/dist/action-packs.js +143 -0
- package/dist/action-packs.js.map +1 -0
- package/dist/adapters/_kit.d.ts +50 -0
- package/dist/adapters/_kit.d.ts.map +1 -0
- package/dist/adapters/_kit.js +98 -0
- package/dist/adapters/_kit.js.map +1 -0
- package/dist/adapters/aws.d.ts +158 -0
- package/dist/adapters/aws.d.ts.map +1 -0
- package/dist/adapters/aws.js +136 -0
- package/dist/adapters/aws.js.map +1 -0
- package/dist/adapters/cloudflare.d.ts +116 -0
- package/dist/adapters/cloudflare.d.ts.map +1 -0
- package/dist/adapters/cloudflare.js +75 -0
- package/dist/adapters/cloudflare.js.map +1 -0
- package/dist/adapters/gcp.d.ts +139 -0
- package/dist/adapters/gcp.d.ts.map +1 -0
- package/dist/adapters/gcp.js +69 -0
- package/dist/adapters/gcp.js.map +1 -0
- package/dist/adapters/github.d.ts +123 -0
- package/dist/adapters/github.d.ts.map +1 -0
- package/dist/adapters/github.js +105 -0
- package/dist/adapters/github.js.map +1 -0
- package/dist/adapters/jira.d.ts +109 -0
- package/dist/adapters/jira.d.ts.map +1 -0
- package/dist/adapters/jira.js +54 -0
- package/dist/adapters/jira.js.map +1 -0
- package/dist/adapters/k8s.d.ts +139 -0
- package/dist/adapters/k8s.d.ts.map +1 -0
- package/dist/adapters/k8s.js +69 -0
- package/dist/adapters/k8s.js.map +1 -0
- package/dist/adapters/linear.d.ts +109 -0
- package/dist/adapters/linear.d.ts.map +1 -0
- package/dist/adapters/linear.js +54 -0
- package/dist/adapters/linear.js.map +1 -0
- package/dist/adapters/salesforce.d.ts +109 -0
- package/dist/adapters/salesforce.d.ts.map +1 -0
- package/dist/adapters/salesforce.js +54 -0
- package/dist/adapters/salesforce.js.map +1 -0
- package/dist/adapters/stripe.d.ts +116 -0
- package/dist/adapters/stripe.d.ts.map +1 -0
- package/dist/adapters/stripe.js +77 -0
- package/dist/adapters/stripe.js.map +1 -0
- package/dist/adapters/supabase.d.ts +127 -0
- package/dist/adapters/supabase.d.ts.map +1 -0
- package/dist/adapters/supabase.js +112 -0
- package/dist/adapters/supabase.js.map +1 -0
- package/dist/adapters/terraform.d.ts +109 -0
- package/dist/adapters/terraform.d.ts.map +1 -0
- package/dist/adapters/terraform.js +58 -0
- package/dist/adapters/terraform.js.map +1 -0
- package/dist/adapters/vercel.d.ts +114 -0
- package/dist/adapters/vercel.d.ts.map +1 -0
- package/dist/adapters/vercel.js +81 -0
- package/dist/adapters/vercel.js.map +1 -0
- package/dist/aec-execution.d.ts +107 -0
- package/dist/aec-execution.d.ts.map +1 -0
- package/dist/aec-execution.js +334 -0
- package/dist/aec-execution.js.map +1 -0
- package/dist/breakglass.d.ts +205 -0
- package/dist/breakglass.d.ts.map +1 -0
- package/dist/breakglass.js +627 -0
- package/dist/breakglass.js.map +1 -0
- package/dist/capability-receipt.d.ts +601 -0
- package/dist/capability-receipt.d.ts.map +1 -0
- package/dist/capability-receipt.js +1177 -0
- package/dist/capability-receipt.js.map +1 -0
- package/dist/cf1-conformance.d.ts +83 -0
- package/dist/cf1-conformance.d.ts.map +1 -0
- package/dist/cf1-conformance.js +94 -0
- package/dist/cf1-conformance.js.map +1 -0
- package/dist/challenge-store.d.ts +20 -0
- package/dist/challenge-store.d.ts.map +1 -0
- package/dist/challenge-store.js +62 -0
- package/dist/challenge-store.js.map +1 -0
- package/dist/control-plane.d.ts +136 -0
- package/dist/control-plane.d.ts.map +1 -0
- package/dist/control-plane.js +349 -0
- package/dist/control-plane.js.map +1 -0
- package/dist/coverage.d.ts +156 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/coverage.js +768 -0
- package/dist/coverage.js.map +1 -0
- package/dist/deployment-attestation.d.ts +93 -0
- package/dist/deployment-attestation.d.ts.map +1 -0
- package/dist/deployment-attestation.js +262 -0
- package/dist/deployment-attestation.js.map +1 -0
- package/dist/eg1-conformance.d.ts +286 -0
- package/dist/eg1-conformance.d.ts.map +1 -0
- package/dist/eg1-conformance.js +379 -0
- package/dist/eg1-conformance.js.map +1 -0
- package/dist/enterprise.d.ts +88 -0
- package/dist/enterprise.d.ts.map +1 -0
- package/dist/enterprise.js +194 -0
- package/dist/enterprise.js.map +1 -0
- package/dist/evidence-postgres.d.ts +123 -0
- package/dist/evidence-postgres.d.ts.map +1 -0
- package/dist/evidence-postgres.js +343 -0
- package/dist/evidence-postgres.js.map +1 -0
- package/dist/evidence.d.ts +113 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +369 -0
- package/dist/evidence.js.map +1 -0
- package/dist/execution-binding.d.ts +49 -0
- package/dist/execution-binding.d.ts.map +1 -0
- package/dist/execution-binding.js +243 -0
- package/dist/execution-binding.js.map +1 -0
- package/dist/formal-runtime-map.d.ts +42 -0
- package/dist/formal-runtime-map.d.ts.map +1 -0
- package/dist/formal-runtime-map.js +23 -0
- package/dist/formal-runtime-map.js.map +1 -0
- package/dist/index.d.ts +1003 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1737 -0
- package/dist/index.js.map +1 -0
- package/dist/key-registry.d.ts +60 -0
- package/dist/key-registry.d.ts.map +1 -0
- package/dist/key-registry.js +144 -0
- package/dist/key-registry.js.map +1 -0
- package/dist/mcp.d.ts +53 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +112 -0
- package/dist/mcp.js.map +1 -0
- package/dist/metering.d.ts +80 -0
- package/dist/metering.d.ts.map +1 -0
- package/dist/metering.js +227 -0
- package/dist/metering.js.map +1 -0
- package/dist/metrics.d.ts +68 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +242 -0
- package/dist/metrics.js.map +1 -0
- package/dist/network-witness.d.ts +167 -0
- package/dist/network-witness.d.ts.map +1 -0
- package/dist/network-witness.js +520 -0
- package/dist/network-witness.js.map +1 -0
- package/dist/proposal-to-effect.d.ts +146 -0
- package/dist/proposal-to-effect.d.ts.map +1 -0
- package/dist/proposal-to-effect.js +427 -0
- package/dist/proposal-to-effect.js.map +1 -0
- package/dist/protocol-state.d.ts +141 -0
- package/dist/protocol-state.d.ts.map +1 -0
- package/dist/protocol-state.js +106 -0
- package/dist/protocol-state.js.map +1 -0
- package/dist/receipt-program.d.ts +59 -0
- package/dist/receipt-program.d.ts.map +1 -0
- package/dist/receipt-program.js +1053 -0
- package/dist/receipt-program.js.map +1 -0
- package/dist/reliance-kernel.d.ts +66 -0
- package/dist/reliance-kernel.d.ts.map +1 -0
- package/dist/reliance-kernel.js +103 -0
- package/dist/reliance-kernel.js.map +1 -0
- package/dist/reliance-packet.d.ts +67 -0
- package/dist/reliance-packet.d.ts.map +1 -0
- package/dist/reliance-packet.js +176 -0
- package/dist/reliance-packet.js.map +1 -0
- package/dist/remedy-program-postgres.d.ts +37 -0
- package/dist/remedy-program-postgres.d.ts.map +1 -0
- package/dist/remedy-program-postgres.js +291 -0
- package/dist/remedy-program-postgres.js.map +1 -0
- package/dist/remedy-program-receipt.d.ts +97 -0
- package/dist/remedy-program-receipt.d.ts.map +1 -0
- package/dist/remedy-program-receipt.js +817 -0
- package/dist/remedy-program-receipt.js.map +1 -0
- package/dist/remedy-program.d.ts +76 -0
- package/dist/remedy-program.d.ts.map +1 -0
- package/dist/remedy-program.js +1346 -0
- package/dist/remedy-program.js.map +1 -0
- package/dist/reports/art14.d.ts +101 -0
- package/dist/reports/art14.d.ts.map +1 -0
- package/dist/reports/art14.js +340 -0
- package/dist/reports/art14.js.map +1 -0
- package/dist/reports/assurance-package.d.ts +197 -0
- package/dist/reports/assurance-package.d.ts.map +1 -0
- package/dist/reports/assurance-package.js +313 -0
- package/dist/reports/assurance-package.js.map +1 -0
- package/dist/reports/auditor-workpaper.d.ts +194 -0
- package/dist/reports/auditor-workpaper.d.ts.map +1 -0
- package/dist/reports/auditor-workpaper.js +545 -0
- package/dist/reports/auditor-workpaper.js.map +1 -0
- package/dist/reports/external-verification.d.ts +76 -0
- package/dist/reports/external-verification.d.ts.map +1 -0
- package/dist/reports/external-verification.js +209 -0
- package/dist/reports/external-verification.js.map +1 -0
- package/dist/reports/reperform.d.ts +122 -0
- package/dist/reports/reperform.d.ts.map +1 -0
- package/dist/reports/reperform.js +432 -0
- package/dist/reports/reperform.js.map +1 -0
- package/dist/reports/underwriter.d.ts +127 -0
- package/dist/reports/underwriter.d.ts.map +1 -0
- package/dist/reports/underwriter.js +348 -0
- package/dist/reports/underwriter.js.map +1 -0
- package/dist/retention.d.ts +88 -0
- package/dist/retention.d.ts.map +1 -0
- package/dist/retention.js +90 -0
- package/dist/retention.js.map +1 -0
- package/dist/roster.d.ts +113 -0
- package/dist/roster.d.ts.map +1 -0
- package/dist/roster.js +261 -0
- package/dist/roster.js.map +1 -0
- package/dist/runtime-monitor.d.ts +132 -0
- package/dist/runtime-monitor.d.ts.map +1 -0
- package/dist/runtime-monitor.js +197 -0
- package/dist/runtime-monitor.js.map +1 -0
- package/dist/settlement.d.ts +68 -0
- package/dist/settlement.d.ts.map +1 -0
- package/dist/settlement.js +306 -0
- package/dist/settlement.js.map +1 -0
- package/dist/siem.d.ts +261 -0
- package/dist/siem.d.ts.map +1 -0
- package/dist/siem.js +247 -0
- package/dist/siem.js.map +1 -0
- package/dist/store-postgres.d.ts +107 -0
- package/dist/store-postgres.d.ts.map +1 -0
- package/dist/store-postgres.js +152 -0
- package/dist/store-postgres.js.map +1 -0
- package/dist/store.d.ts +95 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +202 -0
- package/dist/store.js.map +1 -0
- package/dist/strict-json.d.ts +14 -0
- package/dist/strict-json.d.ts.map +1 -0
- package/dist/strict-json.js +132 -0
- package/dist/strict-json.js.map +1 -0
- package/dist/trust-program-adapters.d.ts +122 -0
- package/dist/trust-program-adapters.d.ts.map +1 -0
- package/dist/trust-program-adapters.js +802 -0
- package/dist/trust-program-adapters.js.map +1 -0
- package/dist/trust-program-postgres.d.ts +41 -0
- package/dist/trust-program-postgres.d.ts.map +1 -0
- package/dist/trust-program-postgres.js +346 -0
- package/dist/trust-program-postgres.js.map +1 -0
- package/dist/trust-program-revocation.d.ts +206 -0
- package/dist/trust-program-revocation.d.ts.map +1 -0
- package/dist/trust-program-revocation.js +600 -0
- package/dist/trust-program-revocation.js.map +1 -0
- package/dist/trust-program.d.ts +197 -0
- package/dist/trust-program.d.ts.map +1 -0
- package/dist/trust-program.js +1351 -0
- package/dist/trust-program.js.map +1 -0
- package/dist/witness-postgres.d.ts +43 -0
- package/dist/witness-postgres.d.ts.map +1 -0
- package/dist/witness-postgres.js +92 -0
- package/dist/witness-postgres.js.map +1 -0
- package/dist/zk-range-proof.d.ts +78 -0
- package/dist/zk-range-proof.d.ts.map +1 -0
- package/dist/zk-range-proof.js +228 -0
- package/dist/zk-range-proof.js.map +1 -0
- package/eg1-conformance.js +3 -404
- package/enterprise.js +3 -180
- package/ep-assure.mjs +1 -0
- package/evidence-postgres.js +3 -356
- package/evidence.js +4 -360
- package/execution-binding.js +3 -212
- package/formal-runtime-map.js +4 -0
- package/index.js +4 -1249
- package/key-registry.js +3 -134
- package/mcp.js +3 -109
- package/metering.js +3 -226
- package/metrics.js +3 -231
- package/network-witness.js +3 -499
- package/package.json +35 -4
- package/proposal-to-effect.js +4 -0
- package/receipt-program.js +4 -0
- package/reliance-kernel.js +3 -112
- package/reliance-packet.js +3 -175
- package/remedy-program-postgres.js +4 -0
- package/remedy-program-receipt.js +4 -0
- package/remedy-program.js +4 -0
- package/reports/art14.js +0 -0
- package/reports/assurance-package.js +2 -312
- package/reports/auditor-workpaper.js +3 -537
- package/reports/external-verification.js +3 -222
- package/reports/reperform.js +3 -424
- package/reports/underwriter.js +3 -339
- package/retention.js +3 -84
- package/roster.js +3 -264
- package/runtime-monitor.js +4 -0
- package/settlement.js +3 -299
- package/siem.js +3 -235
- package/src/action-control-manifest.ts +424 -0
- package/src/action-escrow-custodian.ts +427 -0
- package/src/action-escrow-evidence.ts +1178 -0
- package/src/action-escrow-package.ts +1821 -0
- package/src/action-escrow-postgres.ts +366 -0
- package/src/action-escrow-state.ts +498 -0
- package/src/action-escrow-verifiers.ts +484 -0
- package/src/action-escrow.ts +3039 -0
- package/src/action-packs.ts +170 -0
- package/src/adapters/_kit.ts +117 -0
- package/src/adapters/aws.ts +142 -0
- package/src/adapters/cloudflare.ts +78 -0
- package/src/adapters/gcp.ts +71 -0
- package/src/adapters/github.ts +110 -0
- package/src/adapters/jira.ts +56 -0
- package/src/adapters/k8s.ts +71 -0
- package/src/adapters/linear.ts +56 -0
- package/src/adapters/salesforce.ts +56 -0
- package/src/adapters/stripe.ts +82 -0
- package/src/adapters/supabase.ts +122 -0
- package/src/adapters/terraform.ts +60 -0
- package/src/adapters/vercel.ts +85 -0
- package/src/aec-execution.ts +354 -0
- package/src/breakglass.ts +647 -0
- package/src/capability-receipt.ts +1258 -0
- package/src/cf1-conformance.ts +120 -0
- package/src/challenge-store.ts +70 -0
- package/src/control-plane.ts +374 -0
- package/src/coverage.ts +832 -0
- package/src/deployment-attestation.ts +259 -0
- package/src/eg1-conformance.ts +471 -0
- package/src/enterprise.ts +195 -0
- package/src/evidence-postgres.ts +374 -0
- package/src/evidence.ts +367 -0
- package/src/execution-binding.ts +236 -0
- package/src/formal-runtime-map.ts +24 -0
- package/src/index.ts +2127 -0
- package/src/key-registry.ts +150 -0
- package/src/mcp.ts +120 -0
- package/src/metering.ts +237 -0
- package/src/metrics.ts +232 -0
- package/src/network-witness.ts +585 -0
- package/src/proposal-to-effect.ts +571 -0
- package/src/protocol-state.ts +143 -0
- package/src/protocol-state.typecheck.ts +94 -0
- package/src/receipt-program.ts +1105 -0
- package/src/reliance-kernel.ts +119 -0
- package/src/reliance-packet.ts +206 -0
- package/src/remedy-program-postgres.ts +367 -0
- package/src/remedy-program-receipt.ts +891 -0
- package/src/remedy-program.ts +1388 -0
- package/src/reports/art14.ts +361 -0
- package/src/reports/assurance-package.ts +330 -0
- package/src/reports/auditor-workpaper.ts +558 -0
- package/src/reports/external-verification.ts +232 -0
- package/src/reports/reperform.ts +441 -0
- package/src/reports/underwriter.ts +356 -0
- package/src/retention.ts +100 -0
- package/src/roster.ts +273 -0
- package/src/runtime-monitor.ts +217 -0
- package/src/settlement.ts +313 -0
- package/src/siem.ts +247 -0
- package/src/store-postgres.ts +167 -0
- package/src/store.ts +214 -0
- package/src/strict-json.ts +115 -0
- package/src/trust-program-adapters.ts +847 -0
- package/src/trust-program-postgres.ts +429 -0
- package/src/trust-program-revocation.ts +751 -0
- package/src/trust-program.ts +1460 -0
- package/src/witness-postgres.ts +106 -0
- package/src/zk-range-proof.ts +250 -0
- package/store-postgres.js +3 -161
- package/store.js +4 -198
- package/strict-json.js +3 -102
- package/trust-program-adapters.js +4 -0
- package/trust-program-postgres.js +4 -0
- package/trust-program-revocation.js +4 -0
- package/trust-program.js +4 -0
- package/witness-postgres.js +3 -96
- package/zk-range-proof.js +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-receipt.js","sourceRoot":"","sources":["../src/capability-receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CF-1 Consequence Firewall Conformance — the category badge above EG-1.
|
|
3
|
+
*
|
|
4
|
+
* EG-1 answers "does this integration ENFORCE the gate?" (eight runtime checks).
|
|
5
|
+
* CF-1 answers the category question "is this a Consequence Firewall?" — EG-1's
|
|
6
|
+
* eight checks PLUS the three that make the category claim honest:
|
|
7
|
+
*
|
|
8
|
+
* - consequential_action_declared: the action is declared high-risk /
|
|
9
|
+
* receipt-required by policy or manifest, not gated only by default-deny.
|
|
10
|
+
* - wrong_authority_refused: a gate pinned to the WRONG issuer key cannot be
|
|
11
|
+
* talked into authorizing — trust is pinned by the relying party, never
|
|
12
|
+
* taken from the receipt-carried signer.
|
|
13
|
+
* - evidence_verifies_offline: an allowed run emits a reliance packet a third
|
|
14
|
+
* party can verify offline (verdict "rely" + the execution proof binds the
|
|
15
|
+
* authorization decision, recomputable without trusting the operator).
|
|
16
|
+
*
|
|
17
|
+
* Pure module: composes eg1-conformance.js only (no import of index.js, so no
|
|
18
|
+
* cycle). `runCf1` is param-driven (an `invoke` for the gate under test, a
|
|
19
|
+
* `wrongInvoke` for a sibling gate pinned to the wrong key, the harness, and the
|
|
20
|
+
* resolved manifest requirement). `cf1Conformance` / `cf1ConformanceSelfTest`
|
|
21
|
+
* in index.js wire real gates to it.
|
|
22
|
+
*/
|
|
23
|
+
import { runEg1 } from './eg1-conformance.js';
|
|
24
|
+
type Obj = Record<string, any>;
|
|
25
|
+
export declare const CF1_VERSION = "CF-1";
|
|
26
|
+
export declare const CF1_CHECKS: readonly {
|
|
27
|
+
id: string;
|
|
28
|
+
title: string;
|
|
29
|
+
}[];
|
|
30
|
+
/**
|
|
31
|
+
* Drive a subject through the CF-1 checks and return a JSON report.
|
|
32
|
+
* @param {object} [o]
|
|
33
|
+
* @param {(scenario:object)=>Promise<object>} [o.invoke] the gate under test
|
|
34
|
+
* @param {(scenario:object)=>Promise<object>} [o.wrongInvoke] a sibling gate pinned to a DIFFERENT (wrong) issuer key
|
|
35
|
+
* @param {object} [o.harness] from createEg1Harness()
|
|
36
|
+
* @param {object} [o.action] the high-risk action (defaults to the harness action)
|
|
37
|
+
* @param {object} [o.requirement] the manifest requirement resolved for this action (findActionRequirement)
|
|
38
|
+
*/
|
|
39
|
+
type Eg1Invoke = NonNullable<Parameters<typeof runEg1>[0]>['invoke'];
|
|
40
|
+
type Eg1Harness = NonNullable<Parameters<typeof runEg1>[0]>['harness'];
|
|
41
|
+
export declare function runCf1({ invoke, wrongInvoke, harness, action, requirement, }?: {
|
|
42
|
+
invoke?: Eg1Invoke;
|
|
43
|
+
wrongInvoke?: Eg1Invoke;
|
|
44
|
+
harness?: Eg1Harness;
|
|
45
|
+
action?: Obj;
|
|
46
|
+
requirement?: {
|
|
47
|
+
receipt_required?: boolean;
|
|
48
|
+
assurance_class?: any;
|
|
49
|
+
action_type?: any;
|
|
50
|
+
};
|
|
51
|
+
}): Promise<{
|
|
52
|
+
standard: string;
|
|
53
|
+
passed: boolean;
|
|
54
|
+
badge: string;
|
|
55
|
+
summary: {
|
|
56
|
+
passed: number;
|
|
57
|
+
total: number;
|
|
58
|
+
};
|
|
59
|
+
eg1: {
|
|
60
|
+
passed: boolean;
|
|
61
|
+
summary: {
|
|
62
|
+
passed: number;
|
|
63
|
+
total: number;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
checks: {
|
|
67
|
+
pass: boolean;
|
|
68
|
+
observed: Obj;
|
|
69
|
+
id: string;
|
|
70
|
+
title: string;
|
|
71
|
+
}[];
|
|
72
|
+
generated_at: string;
|
|
73
|
+
}>;
|
|
74
|
+
declare const _default: {
|
|
75
|
+
CF1_VERSION: string;
|
|
76
|
+
CF1_CHECKS: readonly {
|
|
77
|
+
id: string;
|
|
78
|
+
title: string;
|
|
79
|
+
}[];
|
|
80
|
+
runCf1: typeof runCf1;
|
|
81
|
+
};
|
|
82
|
+
export default _default;
|
|
83
|
+
//# sourceMappingURL=cf1-conformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cf1-conformance.d.ts","sourceRoot":"","sources":["../src/cf1-conformance.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAc,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE1D,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,eAAO,MAAM,WAAW,SAAS,CAAC;AAIlC,eAAO,MAAM,UAAU;;;GAKrB,CAAC;AAEH;;;;;;;;GAQG;AACH,KAAK,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrE,KAAK,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEvE,wBAAsB,MAAM,CAAC,EAC3B,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAClD,GAAE;IACD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,GAAG,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CACnF;;;;;;;;;;;;;;;;cAQkC,OAAO;kBAAY,GAAG;;;;;GAmD7D;;;;;;;;;AAED,wBAAmD"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* CF-1 Consequence Firewall Conformance — the category badge above EG-1.
|
|
5
|
+
*
|
|
6
|
+
* EG-1 answers "does this integration ENFORCE the gate?" (eight runtime checks).
|
|
7
|
+
* CF-1 answers the category question "is this a Consequence Firewall?" — EG-1's
|
|
8
|
+
* eight checks PLUS the three that make the category claim honest:
|
|
9
|
+
*
|
|
10
|
+
* - consequential_action_declared: the action is declared high-risk /
|
|
11
|
+
* receipt-required by policy or manifest, not gated only by default-deny.
|
|
12
|
+
* - wrong_authority_refused: a gate pinned to the WRONG issuer key cannot be
|
|
13
|
+
* talked into authorizing — trust is pinned by the relying party, never
|
|
14
|
+
* taken from the receipt-carried signer.
|
|
15
|
+
* - evidence_verifies_offline: an allowed run emits a reliance packet a third
|
|
16
|
+
* party can verify offline (verdict "rely" + the execution proof binds the
|
|
17
|
+
* authorization decision, recomputable without trusting the operator).
|
|
18
|
+
*
|
|
19
|
+
* Pure module: composes eg1-conformance.js only (no import of index.js, so no
|
|
20
|
+
* cycle). `runCf1` is param-driven (an `invoke` for the gate under test, a
|
|
21
|
+
* `wrongInvoke` for a sibling gate pinned to the wrong key, the harness, and the
|
|
22
|
+
* resolved manifest requirement). `cf1Conformance` / `cf1ConformanceSelfTest`
|
|
23
|
+
* in index.js wire real gates to it.
|
|
24
|
+
*/
|
|
25
|
+
import { EG1_CHECKS, runEg1 } from './eg1-conformance.js';
|
|
26
|
+
export const CF1_VERSION = 'CF-1';
|
|
27
|
+
// The nine CF-1 checks: the declaration bookend, the eight EG-1 runtime checks,
|
|
28
|
+
// then the two that distinguish a firewall from an enforced gate.
|
|
29
|
+
export const CF1_CHECKS = Object.freeze([
|
|
30
|
+
{ id: 'consequential_action_declared', title: 'action declared consequential (receipt required by policy/manifest)' },
|
|
31
|
+
...EG1_CHECKS.map((c) => ({ id: c.id, title: c.title })),
|
|
32
|
+
{ id: 'wrong_authority_refused', title: 'gate pinned to the wrong authority cannot authorize' },
|
|
33
|
+
{ id: 'evidence_verifies_offline', title: 'allowed run emits reliance evidence verifiable offline' },
|
|
34
|
+
]);
|
|
35
|
+
export async function runCf1({ invoke, wrongInvoke, harness, action, requirement, } = {}) {
|
|
36
|
+
if (typeof invoke !== 'function')
|
|
37
|
+
throw new Error('runCf1 requires an invoke(scenario) function');
|
|
38
|
+
if (!harness || typeof harness.mint !== 'function')
|
|
39
|
+
throw new Error('runCf1 requires a harness from createEg1Harness()');
|
|
40
|
+
const act = action || harness.action;
|
|
41
|
+
// The eight EG-1 runtime checks (missing / weak-assurance / execution-drift /
|
|
42
|
+
// valid-runs / replay / tamper / execution-proof / reliance-packet).
|
|
43
|
+
const eg1 = await runEg1({ invoke, harness, action: act });
|
|
44
|
+
const results = {};
|
|
45
|
+
for (const c of eg1.checks)
|
|
46
|
+
results[c.id] = { pass: c.pass, observed: c.observed };
|
|
47
|
+
// consequential_action_declared — policy/manifest classifies the action as
|
|
48
|
+
// requiring a receipt (not merely caught by a default-deny fallback).
|
|
49
|
+
results.consequential_action_declared = {
|
|
50
|
+
pass: requirement ? requirement.receipt_required === true : false,
|
|
51
|
+
observed: {
|
|
52
|
+
receipt_required: requirement?.receipt_required ?? null,
|
|
53
|
+
assurance_class: requirement?.assurance_class ?? null,
|
|
54
|
+
action_type: requirement?.action_type ?? null,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
// wrong_authority_refused — a gate pinned to a different key rejects a valid
|
|
58
|
+
// receipt. Proves trust is pinned by the relying party, not receipt-carried.
|
|
59
|
+
let wrongPass = false;
|
|
60
|
+
let wrongObserved = { skipped: true };
|
|
61
|
+
if (typeof wrongInvoke === 'function') {
|
|
62
|
+
const rr = await wrongInvoke({ receipt: harness.mint({ outcome: 'allow_with_signoff' }), observedAction: act });
|
|
63
|
+
wrongPass = rr.allowed === false;
|
|
64
|
+
wrongObserved = { allowed: !!rr.allowed, status: rr.status ?? null, reason: rr.reason ?? null };
|
|
65
|
+
}
|
|
66
|
+
results.wrong_authority_refused = { pass: wrongPass, observed: wrongObserved };
|
|
67
|
+
// evidence_verifies_offline — a fresh valid run yields a "rely" reliance
|
|
68
|
+
// packet whose execution proof binds the authorization decision. A third
|
|
69
|
+
// party recomputes that binding offline; no operator trust required.
|
|
70
|
+
const vr = await invoke({ receipt: harness.mint({ outcome: 'allow_with_signoff' }), observedAction: act });
|
|
71
|
+
const binds = !!vr.execution?.authorizes_decision && !!vr.decisionHash
|
|
72
|
+
&& vr.execution.authorizes_decision === vr.decisionHash;
|
|
73
|
+
const offlineOk = vr.allowed === true
|
|
74
|
+
&& String(vr.packet?.verdict || '').toLowerCase() === 'rely'
|
|
75
|
+
&& binds;
|
|
76
|
+
results.evidence_verifies_offline = {
|
|
77
|
+
pass: offlineOk,
|
|
78
|
+
observed: { allowed: !!vr.allowed, verdict: vr.packet?.verdict ?? null, binds },
|
|
79
|
+
};
|
|
80
|
+
const checks = CF1_CHECKS.map((c) => ({ id: c.id, title: c.title, ...results[c.id] }));
|
|
81
|
+
const passedCount = checks.filter((c) => c.pass).length;
|
|
82
|
+
const passed = passedCount === checks.length;
|
|
83
|
+
return {
|
|
84
|
+
standard: CF1_VERSION,
|
|
85
|
+
passed,
|
|
86
|
+
badge: passed ? 'CF-1 Enforced' : 'CF-1 not earned',
|
|
87
|
+
summary: { passed: passedCount, total: checks.length },
|
|
88
|
+
eg1: { passed: eg1.passed, summary: eg1.summary },
|
|
89
|
+
checks,
|
|
90
|
+
generated_at: new Date(harness.now ? harness.now() : Date.now()).toISOString(),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export default { CF1_VERSION, CF1_CHECKS, runCf1 };
|
|
94
|
+
//# sourceMappingURL=cf1-conformance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cf1-conformance.js","sourceRoot":"","sources":["../src/cf1-conformance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const DURABLE_CHALLENGE_STORE_VERSION = "EP-DURABLE-CHALLENGE-STORE-v1";
|
|
2
|
+
export declare function challengeStorageKey(challenge: any): string;
|
|
3
|
+
export declare function challengeBodyDigest(challenge: any): string;
|
|
4
|
+
export declare function createDurableChallengeStore(backend: any): {
|
|
5
|
+
durable: boolean;
|
|
6
|
+
atomicRegistration: boolean;
|
|
7
|
+
bodyBound: boolean;
|
|
8
|
+
permanentConsumption: boolean;
|
|
9
|
+
register(challenge: any): Promise<boolean>;
|
|
10
|
+
consume(challenge: any): Promise<boolean>;
|
|
11
|
+
has(challenge: any): Promise<boolean>;
|
|
12
|
+
};
|
|
13
|
+
declare const _default: {
|
|
14
|
+
createDurableChallengeStore: typeof createDurableChallengeStore;
|
|
15
|
+
challengeStorageKey: typeof challengeStorageKey;
|
|
16
|
+
challengeBodyDigest: typeof challengeBodyDigest;
|
|
17
|
+
DURABLE_CHALLENGE_STORE_VERSION: string;
|
|
18
|
+
};
|
|
19
|
+
export default _default;
|
|
20
|
+
//# sourceMappingURL=challenge-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"challenge-store.d.ts","sourceRoot":"","sources":["../src/challenge-store.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,+BAA+B,kCAAkC,CAAC;AAa/E,wBAAgB,mBAAmB,CAAC,SAAS,KAAA,UAG5C;AAED,wBAAgB,mBAAmB,CAAC,SAAS,KAAA,UAG5C;AAED,wBAAgB,2BAA2B,CAAC,OAAO,KAAA;;;;;;;;EAgClD;;;;;;;AAED,wBAA0H"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* Durable, body-bound lifecycle store for AE-CHALLENGE-v1.
|
|
5
|
+
*
|
|
6
|
+
* Registration is atomic insert-if-absent. Consumption is an atomic transition
|
|
7
|
+
* from the digest of the exact registered body to a consumed state carrying
|
|
8
|
+
* that same digest. A presenter that changes action, profile, expiry, or any
|
|
9
|
+
* other challenge member cannot consume the original registration even when it
|
|
10
|
+
* reuses the challenge id and nonce.
|
|
11
|
+
*/
|
|
12
|
+
import { hashCanonical } from './execution-binding.js';
|
|
13
|
+
export const DURABLE_CHALLENGE_STORE_VERSION = 'EP-DURABLE-CHALLENGE-STORE-v1';
|
|
14
|
+
const OPEN_PREFIX = 'challenge-open:v1:';
|
|
15
|
+
const CONSUMED_PREFIX = 'challenge-consumed:v1:';
|
|
16
|
+
function assertChallenge(challenge) {
|
|
17
|
+
if (!challenge || typeof challenge !== 'object' || Array.isArray(challenge)) {
|
|
18
|
+
throw new Error('challenge must be an object');
|
|
19
|
+
}
|
|
20
|
+
if (challenge['@version'] !== 'AE-CHALLENGE-v1')
|
|
21
|
+
throw new Error('unsupported challenge version');
|
|
22
|
+
if (typeof challenge.challenge_id !== 'string' || !challenge.challenge_id.trim())
|
|
23
|
+
throw new Error('challenge_id is required');
|
|
24
|
+
if (typeof challenge.nonce !== 'string' || !challenge.nonce.trim())
|
|
25
|
+
throw new Error('challenge nonce is required');
|
|
26
|
+
}
|
|
27
|
+
export function challengeStorageKey(challenge) {
|
|
28
|
+
assertChallenge(challenge);
|
|
29
|
+
return `ae-challenge:${hashCanonical({ challenge_id: challenge.challenge_id, nonce: challenge.nonce })}`;
|
|
30
|
+
}
|
|
31
|
+
export function challengeBodyDigest(challenge) {
|
|
32
|
+
assertChallenge(challenge);
|
|
33
|
+
return hashCanonical(challenge);
|
|
34
|
+
}
|
|
35
|
+
export function createDurableChallengeStore(backend) {
|
|
36
|
+
for (const method of ['addIfAbsent', 'compareAndSet', 'has']) {
|
|
37
|
+
if (typeof backend?.[method] !== 'function') {
|
|
38
|
+
throw new Error(`createDurableChallengeStore: backend must implement atomic async ${method}()`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
durable: backend.durable === true,
|
|
43
|
+
atomicRegistration: true,
|
|
44
|
+
bodyBound: true,
|
|
45
|
+
permanentConsumption: true,
|
|
46
|
+
async register(challenge) {
|
|
47
|
+
const key = challengeStorageKey(challenge);
|
|
48
|
+
const digest = challengeBodyDigest(challenge);
|
|
49
|
+
return (await backend.addIfAbsent(key, `${OPEN_PREFIX}${digest}`)) === true;
|
|
50
|
+
},
|
|
51
|
+
async consume(challenge) {
|
|
52
|
+
const key = challengeStorageKey(challenge);
|
|
53
|
+
const digest = challengeBodyDigest(challenge);
|
|
54
|
+
return (await backend.compareAndSet(key, `${OPEN_PREFIX}${digest}`, `${CONSUMED_PREFIX}${digest}`)) === true;
|
|
55
|
+
},
|
|
56
|
+
async has(challenge) {
|
|
57
|
+
return (await backend.has(challengeStorageKey(challenge))) === true;
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export default { createDurableChallengeStore, challengeStorageKey, challengeBodyDigest, DURABLE_CHALLENGE_STORE_VERSION };
|
|
62
|
+
//# sourceMappingURL=challenge-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"challenge-store.js","sourceRoot":"","sources":["../src/challenge-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
export declare const CONTROL_PLANE_REPORT_VERSION = "EP-GATE-CONTROL-PLANE-REPORT-v1";
|
|
2
|
+
export declare const CONTROL_PLANE_MAX_SETTLEMENTS = 10000;
|
|
3
|
+
/**
|
|
4
|
+
* Produce one reproducible control-plane view. The signed/verified subartifacts
|
|
5
|
+
* remain independently portable; this report joins only their digests and
|
|
6
|
+
* closed verdicts.
|
|
7
|
+
*/
|
|
8
|
+
export declare function evaluateGateControlPlane(input?: {
|
|
9
|
+
settlements?: any[];
|
|
10
|
+
coverage?: Record<string, any>;
|
|
11
|
+
usage?: any;
|
|
12
|
+
}, options?: {
|
|
13
|
+
now?: number;
|
|
14
|
+
coverageInventory?: any;
|
|
15
|
+
settlementProfile?: any;
|
|
16
|
+
pinnedProbes?: any;
|
|
17
|
+
pinnedWitnesses?: any;
|
|
18
|
+
expectedProbeNonces?: any;
|
|
19
|
+
probeMaxAgeSec?: number;
|
|
20
|
+
witnessMaxAgeSec?: number;
|
|
21
|
+
maxFutureSkewSec?: number;
|
|
22
|
+
allowEphemeralWitnessStore?: boolean;
|
|
23
|
+
trustedWitnessAcceptances?: any[];
|
|
24
|
+
attestationVerifiers?: any;
|
|
25
|
+
witnessSequenceStore?: any;
|
|
26
|
+
verifyAuthorization?: any;
|
|
27
|
+
verifyExecution?: any;
|
|
28
|
+
verifyOutcome?: any;
|
|
29
|
+
}): Promise<Readonly<{
|
|
30
|
+
control_plane_digest: string;
|
|
31
|
+
artifacts: Readonly<{
|
|
32
|
+
coverage: {
|
|
33
|
+
'@version': string;
|
|
34
|
+
complete: boolean;
|
|
35
|
+
reason: string;
|
|
36
|
+
inventory_hash: string | null;
|
|
37
|
+
surfaces: {
|
|
38
|
+
surface_id: any;
|
|
39
|
+
action_family: any;
|
|
40
|
+
required: any;
|
|
41
|
+
state: string;
|
|
42
|
+
reason: string;
|
|
43
|
+
deployment_attested: boolean;
|
|
44
|
+
refusal_probe_verified: boolean;
|
|
45
|
+
bypass_probe_verified: boolean;
|
|
46
|
+
probe_nonce_verified: boolean;
|
|
47
|
+
witness_required: boolean;
|
|
48
|
+
witness_verified: boolean;
|
|
49
|
+
witness_acceptance_reason: any;
|
|
50
|
+
complete: boolean;
|
|
51
|
+
}[];
|
|
52
|
+
counts: Record<string, number>;
|
|
53
|
+
report_hash?: undefined;
|
|
54
|
+
generated_at?: undefined;
|
|
55
|
+
inventory_id?: undefined;
|
|
56
|
+
declared_required_surfaces?: undefined;
|
|
57
|
+
complete_required_surfaces?: undefined;
|
|
58
|
+
declared_coverage_bps?: undefined;
|
|
59
|
+
limitations?: undefined;
|
|
60
|
+
} | {
|
|
61
|
+
'@version': string;
|
|
62
|
+
generated_at: string;
|
|
63
|
+
inventory_id: any;
|
|
64
|
+
inventory_hash: string;
|
|
65
|
+
complete: boolean;
|
|
66
|
+
declared_required_surfaces: number;
|
|
67
|
+
complete_required_surfaces: number;
|
|
68
|
+
declared_coverage_bps: number;
|
|
69
|
+
counts: Record<string, number>;
|
|
70
|
+
surfaces: {
|
|
71
|
+
surface_id: any;
|
|
72
|
+
action_family: any;
|
|
73
|
+
required: any;
|
|
74
|
+
state: string;
|
|
75
|
+
reason: string;
|
|
76
|
+
deployment_attested: boolean;
|
|
77
|
+
refusal_probe_verified: boolean;
|
|
78
|
+
bypass_probe_verified: boolean;
|
|
79
|
+
probe_nonce_verified: boolean;
|
|
80
|
+
witness_required: boolean;
|
|
81
|
+
witness_verified: boolean;
|
|
82
|
+
witness_acceptance_reason: any;
|
|
83
|
+
complete: boolean;
|
|
84
|
+
}[];
|
|
85
|
+
limitations: string[];
|
|
86
|
+
report_hash: string;
|
|
87
|
+
reason?: undefined;
|
|
88
|
+
};
|
|
89
|
+
settlements: any[];
|
|
90
|
+
usage: {
|
|
91
|
+
content_hash: string;
|
|
92
|
+
'@version': string;
|
|
93
|
+
kind: string;
|
|
94
|
+
org: string;
|
|
95
|
+
period: {
|
|
96
|
+
start: any;
|
|
97
|
+
end: any;
|
|
98
|
+
bounds: string;
|
|
99
|
+
};
|
|
100
|
+
protected_actions: any;
|
|
101
|
+
allows: any;
|
|
102
|
+
denies: any;
|
|
103
|
+
replays_blocked: any;
|
|
104
|
+
by_action_type: {};
|
|
105
|
+
by_tier: {};
|
|
106
|
+
receipt_years: any;
|
|
107
|
+
retention_years_default: any;
|
|
108
|
+
integrity_warning_count: any;
|
|
109
|
+
complete: boolean;
|
|
110
|
+
} | null;
|
|
111
|
+
}>;
|
|
112
|
+
limitations: string[];
|
|
113
|
+
usage_error?: string | undefined;
|
|
114
|
+
settlement_error?: string | undefined;
|
|
115
|
+
configuration_error?: string | undefined;
|
|
116
|
+
'@version': string;
|
|
117
|
+
generated_at: string;
|
|
118
|
+
coverage_report_hash: string | null;
|
|
119
|
+
coverage_complete: boolean;
|
|
120
|
+
settlement_input_complete: boolean;
|
|
121
|
+
settlement_results: {
|
|
122
|
+
action_digest: any;
|
|
123
|
+
verdict: any;
|
|
124
|
+
eligible: boolean;
|
|
125
|
+
result_hash: any;
|
|
126
|
+
}[];
|
|
127
|
+
usage_statement_hash: string | null;
|
|
128
|
+
usage_complete: boolean;
|
|
129
|
+
}>>;
|
|
130
|
+
declare const _default: {
|
|
131
|
+
CONTROL_PLANE_REPORT_VERSION: string;
|
|
132
|
+
CONTROL_PLANE_MAX_SETTLEMENTS: number;
|
|
133
|
+
evaluateGateControlPlane: typeof evaluateGateControlPlane;
|
|
134
|
+
};
|
|
135
|
+
export default _default;
|
|
136
|
+
//# sourceMappingURL=control-plane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,4BAA4B,oCAAoC,CAAC;AAC9E,eAAO,MAAM,6BAA6B,QAAS,CAAC;AA0DpD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,GAAE;IAAE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAO,EAChF,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,yBAAyB,CAAC,EAAE,GAAG,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,aAAa,CAAC,EAAE,GAAG,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgRP;;;;;;AAED,wBAIE"}
|