@emilia-protocol/gate 0.10.0 → 0.13.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 +91 -0
- package/README.md +272 -0
- package/action-control-manifest.js +3 -268
- package/action-escrow-custodian.js +4 -0
- package/action-escrow-evidence.js +4 -0
- package/action-escrow-package.js +4 -0
- package/action-escrow-postgres.js +4 -0
- package/action-escrow-state.js +4 -0
- package/action-escrow-verifiers.js +4 -0
- package/action-escrow.js +4 -0
- 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 +1002 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1736 -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/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 +47 -4
- 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 +2122 -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/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 -85
- 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":"network-witness.js","sourceRoot":"","sources":["../src/network-witness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EP Protocol-State — brand-typed handshake lifecycle (GAP-4).
|
|
3
|
+
*
|
|
4
|
+
* Purpose: make an ILLEGAL protocol-state transition a COMPILE error, not a
|
|
5
|
+
* runtime failure. Each lifecycle state is a distinct nominal (branded) type,
|
|
6
|
+
* and every transition is a function whose parameter type admits ONLY its legal
|
|
7
|
+
* predecessor state(s) and whose return type is exactly its legal successor.
|
|
8
|
+
* Passing the wrong state to a transition (e.g. `consume(initiated)` — consuming
|
|
9
|
+
* before verification) is rejected by `tsc` before the code ever runs.
|
|
10
|
+
*
|
|
11
|
+
* ── Source of truth ─────────────────────────────────────────────────────────
|
|
12
|
+
* The state graph mirrors the formally-verified model, not a toy:
|
|
13
|
+
* formal/ep_handshake.tla — abstract lifecycle + transition guards
|
|
14
|
+
* lib/handshake/invariants.js (HANDSHAKE_STATUSES) — the 6 persisted statuses
|
|
15
|
+
* lib/handshake/create.js — status:'initiated' (T1 Initiate)
|
|
16
|
+
* lib/handshake/present.js — initiated → pending_verification (T2 Present)
|
|
17
|
+
* lib/handshake/verify.js — outcome accepted/rejected/expired (T3/T4/T7)
|
|
18
|
+
* lib/handshake/consume.js — verified → consumed (T5 Consume)
|
|
19
|
+
* lib/handshake/finalize.js — → revoked (T6 Revoke)
|
|
20
|
+
*
|
|
21
|
+
* ── States (TLA `state` domain) ─────────────────────────────────────────────
|
|
22
|
+
* none | initiated | pending_verification | verified
|
|
23
|
+
* | rejected | expired | revoked | consumed
|
|
24
|
+
*
|
|
25
|
+
* Two of these are ABSTRACT lifecycle states, not DB status values:
|
|
26
|
+
* - `none` : pre-initiation. There is no persisted row yet.
|
|
27
|
+
* - `consumed` : a verified handshake that has an entry in the
|
|
28
|
+
* `handshake_consumptions` table. Consumption does NOT rewrite
|
|
29
|
+
* `handshakes.status` (it stays 'verified'); it is recorded
|
|
30
|
+
* atomically in a side table by `consume_handshake_atomic`.
|
|
31
|
+
* The TLA model abstracts (status='verified' ∧ h∈consumptions)
|
|
32
|
+
* as the distinct terminal state `consumed`. This module keeps
|
|
33
|
+
* that abstraction so "consume-once" and "no-verify-after-consume"
|
|
34
|
+
* are expressible in the type system.
|
|
35
|
+
*
|
|
36
|
+
* The other six are exactly `HANDSHAKE_STATUSES` from invariants.js and carry a
|
|
37
|
+
* `dbStatus` field equal to the persisted `handshakes.status` value.
|
|
38
|
+
*
|
|
39
|
+
* ── Legal transition graph (the ONLY edges; everything else is a type error) ─
|
|
40
|
+
* genesis() -> None
|
|
41
|
+
* initiate(None) -> Initiated
|
|
42
|
+
* present(Initiated) -> PendingVerification
|
|
43
|
+
* verifyAccept(PendingVerification) -> Verified
|
|
44
|
+
* verifyReject(PendingVerification) -> Rejected (terminal)
|
|
45
|
+
* consume(Verified) -> Consumed (terminal)
|
|
46
|
+
* revoke(Initiated|PendingVerification|Verified) -> Revoked (terminal)
|
|
47
|
+
* expire(Initiated|PendingVerification|Verified) -> Expired (terminal)
|
|
48
|
+
*
|
|
49
|
+
* Terminal states (Rejected, Expired, Revoked, Consumed) are accepted by NO
|
|
50
|
+
* transition function, so any move out of a terminal state is a compile error.
|
|
51
|
+
*
|
|
52
|
+
* Branding note: each state is nominally distinguished by a private, readonly
|
|
53
|
+
* string-literal `tag`. Distinct tags make each state a distinct type, so no
|
|
54
|
+
* legal predecessor of one transition is accidentally assignable to another.
|
|
55
|
+
* The runtime value literally is `{ tag, dbStatus }`; there is no phantom-only
|
|
56
|
+
* field, so no casts are needed and the runtime and the types cannot drift.
|
|
57
|
+
*
|
|
58
|
+
* This module is intentionally free of I/O. It is the compile-time spine that
|
|
59
|
+
* the runtime state machine (verify.js / consume.js / finalize.js) is expected
|
|
60
|
+
* to obey; it does not replace those code paths' own DB-level guards.
|
|
61
|
+
*
|
|
62
|
+
* @license Apache-2.0
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* The six persisted `handshakes.status` values (single source: invariants.js
|
|
66
|
+
* HANDSHAKE_STATUSES). `none` and `consumed` are abstract and have no row status.
|
|
67
|
+
*/
|
|
68
|
+
export type DbHandshakeStatus = 'initiated' | 'pending_verification' | 'verified' | 'rejected' | 'expired' | 'revoked';
|
|
69
|
+
/** Pre-initiation. No persisted handshake exists yet. */
|
|
70
|
+
export type None = {
|
|
71
|
+
readonly tag: 'none';
|
|
72
|
+
readonly dbStatus: null;
|
|
73
|
+
};
|
|
74
|
+
/** A handshake row was created (T1). DB status 'initiated'. */
|
|
75
|
+
export type Initiated = {
|
|
76
|
+
readonly tag: 'initiated';
|
|
77
|
+
readonly dbStatus: 'initiated';
|
|
78
|
+
};
|
|
79
|
+
/** A presentation was added and verification is pending (T2). DB 'pending_verification'. */
|
|
80
|
+
export type PendingVerification = {
|
|
81
|
+
readonly tag: 'pending_verification';
|
|
82
|
+
readonly dbStatus: 'pending_verification';
|
|
83
|
+
};
|
|
84
|
+
/** Verification accepted (T3). DB 'verified'. Only state from which consume is legal. */
|
|
85
|
+
export type Verified = {
|
|
86
|
+
readonly tag: 'verified';
|
|
87
|
+
readonly dbStatus: 'verified';
|
|
88
|
+
};
|
|
89
|
+
/** Verification rejected (T4). Terminal. DB 'rejected'. */
|
|
90
|
+
export type Rejected = {
|
|
91
|
+
readonly tag: 'rejected';
|
|
92
|
+
readonly dbStatus: 'rejected';
|
|
93
|
+
};
|
|
94
|
+
/** Binding expired (T7). Terminal. DB 'expired'. */
|
|
95
|
+
export type Expired = {
|
|
96
|
+
readonly tag: 'expired';
|
|
97
|
+
readonly dbStatus: 'expired';
|
|
98
|
+
};
|
|
99
|
+
/** Revoked by a party (T6). Terminal. DB 'revoked'. */
|
|
100
|
+
export type Revoked = {
|
|
101
|
+
readonly tag: 'revoked';
|
|
102
|
+
readonly dbStatus: 'revoked';
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Consumed exactly once (T5). Terminal abstract state; the row keeps DB status
|
|
106
|
+
* 'verified' and gains a `handshake_consumptions` record.
|
|
107
|
+
*/
|
|
108
|
+
export type Consumed = {
|
|
109
|
+
readonly tag: 'consumed';
|
|
110
|
+
readonly dbStatus: 'verified';
|
|
111
|
+
};
|
|
112
|
+
/** Any state in the lifecycle. */
|
|
113
|
+
export type ProtocolState = None | Initiated | PendingVerification | Verified | Rejected | Expired | Revoked | Consumed;
|
|
114
|
+
/** States a still-active handshake can be revoked or expired from (T6/T7 domain). */
|
|
115
|
+
export type Active = Initiated | PendingVerification | Verified;
|
|
116
|
+
/** T0: genesis — the empty pre-initiation state. */
|
|
117
|
+
export declare function genesis(): None;
|
|
118
|
+
/** T1 Initiate: none -> initiated. Maps to create.js status:'initiated'. */
|
|
119
|
+
export declare function initiate(_s: None): Initiated;
|
|
120
|
+
/** T2 Present: initiated -> pending_verification. Maps to present.js. */
|
|
121
|
+
export declare function present(_s: Initiated): PendingVerification;
|
|
122
|
+
/** T3 VerifyAccept: pending_verification -> verified. verify.js outcome='accepted'. */
|
|
123
|
+
export declare function verifyAccept(_s: PendingVerification): Verified;
|
|
124
|
+
/** T4 VerifyReject: pending_verification -> rejected (terminal). verify.js outcome='rejected'. */
|
|
125
|
+
export declare function verifyReject(_s: PendingVerification): Rejected;
|
|
126
|
+
/**
|
|
127
|
+
* T5 Consume: verified -> consumed (terminal). consume.js requires 'verified' state
|
|
128
|
+
* and enforces consume-once at the DB level.
|
|
129
|
+
*/
|
|
130
|
+
export declare function consume(_s: Verified): Consumed;
|
|
131
|
+
/**
|
|
132
|
+
* T6 Revoke: {initiated|pending_verification|verified} -> revoked (terminal).
|
|
133
|
+
* finalize.js. Legal only from an active (pre-terminal) state.
|
|
134
|
+
*/
|
|
135
|
+
export declare function revoke(_s: Active): Revoked;
|
|
136
|
+
/**
|
|
137
|
+
* T7 Expire: {initiated|pending_verification|verified} -> expired (terminal).
|
|
138
|
+
* verify.js outcome='expired'. Legal only from an active (pre-terminal) state.
|
|
139
|
+
*/
|
|
140
|
+
export declare function expire(_s: Active): Expired;
|
|
141
|
+
//# sourceMappingURL=protocol-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-state.d.ts","sourceRoot":"","sources":["../src/protocol-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,sBAAsB,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvH,yDAAyD;AACzD,MAAM,MAAM,IAAI,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AACrE,+DAA+D;AAC/D,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;CAAE,CAAC;AACtF,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAE,CAAC;AACtH,yFAAyF;AACzF,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,CAAC;AACnF,2DAA2D;AAC3D,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,CAAC;AACnF,oDAAoD;AACpD,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC;AAChF,uDAAuD;AACvD,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC;AAChF;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,CAAC;AAEnF,kCAAkC;AAClC,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AACxH,qFAAqF;AACrF,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,mBAAmB,GAAG,QAAQ,CAAC;AAEhE,oDAAoD;AACpD,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,SAAS,CAE5C;AAED,yEAAyE;AACzE,wBAAgB,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,mBAAmB,CAE1D;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,EAAE,EAAE,mBAAmB,GAAG,QAAQ,CAE9D;AAED,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,EAAE,EAAE,mBAAmB,GAAG,QAAQ,CAE9D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAE9C;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE1C;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE1C"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* EP Protocol-State — brand-typed handshake lifecycle (GAP-4).
|
|
4
|
+
*
|
|
5
|
+
* Purpose: make an ILLEGAL protocol-state transition a COMPILE error, not a
|
|
6
|
+
* runtime failure. Each lifecycle state is a distinct nominal (branded) type,
|
|
7
|
+
* and every transition is a function whose parameter type admits ONLY its legal
|
|
8
|
+
* predecessor state(s) and whose return type is exactly its legal successor.
|
|
9
|
+
* Passing the wrong state to a transition (e.g. `consume(initiated)` — consuming
|
|
10
|
+
* before verification) is rejected by `tsc` before the code ever runs.
|
|
11
|
+
*
|
|
12
|
+
* ── Source of truth ─────────────────────────────────────────────────────────
|
|
13
|
+
* The state graph mirrors the formally-verified model, not a toy:
|
|
14
|
+
* formal/ep_handshake.tla — abstract lifecycle + transition guards
|
|
15
|
+
* lib/handshake/invariants.js (HANDSHAKE_STATUSES) — the 6 persisted statuses
|
|
16
|
+
* lib/handshake/create.js — status:'initiated' (T1 Initiate)
|
|
17
|
+
* lib/handshake/present.js — initiated → pending_verification (T2 Present)
|
|
18
|
+
* lib/handshake/verify.js — outcome accepted/rejected/expired (T3/T4/T7)
|
|
19
|
+
* lib/handshake/consume.js — verified → consumed (T5 Consume)
|
|
20
|
+
* lib/handshake/finalize.js — → revoked (T6 Revoke)
|
|
21
|
+
*
|
|
22
|
+
* ── States (TLA `state` domain) ─────────────────────────────────────────────
|
|
23
|
+
* none | initiated | pending_verification | verified
|
|
24
|
+
* | rejected | expired | revoked | consumed
|
|
25
|
+
*
|
|
26
|
+
* Two of these are ABSTRACT lifecycle states, not DB status values:
|
|
27
|
+
* - `none` : pre-initiation. There is no persisted row yet.
|
|
28
|
+
* - `consumed` : a verified handshake that has an entry in the
|
|
29
|
+
* `handshake_consumptions` table. Consumption does NOT rewrite
|
|
30
|
+
* `handshakes.status` (it stays 'verified'); it is recorded
|
|
31
|
+
* atomically in a side table by `consume_handshake_atomic`.
|
|
32
|
+
* The TLA model abstracts (status='verified' ∧ h∈consumptions)
|
|
33
|
+
* as the distinct terminal state `consumed`. This module keeps
|
|
34
|
+
* that abstraction so "consume-once" and "no-verify-after-consume"
|
|
35
|
+
* are expressible in the type system.
|
|
36
|
+
*
|
|
37
|
+
* The other six are exactly `HANDSHAKE_STATUSES` from invariants.js and carry a
|
|
38
|
+
* `dbStatus` field equal to the persisted `handshakes.status` value.
|
|
39
|
+
*
|
|
40
|
+
* ── Legal transition graph (the ONLY edges; everything else is a type error) ─
|
|
41
|
+
* genesis() -> None
|
|
42
|
+
* initiate(None) -> Initiated
|
|
43
|
+
* present(Initiated) -> PendingVerification
|
|
44
|
+
* verifyAccept(PendingVerification) -> Verified
|
|
45
|
+
* verifyReject(PendingVerification) -> Rejected (terminal)
|
|
46
|
+
* consume(Verified) -> Consumed (terminal)
|
|
47
|
+
* revoke(Initiated|PendingVerification|Verified) -> Revoked (terminal)
|
|
48
|
+
* expire(Initiated|PendingVerification|Verified) -> Expired (terminal)
|
|
49
|
+
*
|
|
50
|
+
* Terminal states (Rejected, Expired, Revoked, Consumed) are accepted by NO
|
|
51
|
+
* transition function, so any move out of a terminal state is a compile error.
|
|
52
|
+
*
|
|
53
|
+
* Branding note: each state is nominally distinguished by a private, readonly
|
|
54
|
+
* string-literal `tag`. Distinct tags make each state a distinct type, so no
|
|
55
|
+
* legal predecessor of one transition is accidentally assignable to another.
|
|
56
|
+
* The runtime value literally is `{ tag, dbStatus }`; there is no phantom-only
|
|
57
|
+
* field, so no casts are needed and the runtime and the types cannot drift.
|
|
58
|
+
*
|
|
59
|
+
* This module is intentionally free of I/O. It is the compile-time spine that
|
|
60
|
+
* the runtime state machine (verify.js / consume.js / finalize.js) is expected
|
|
61
|
+
* to obey; it does not replace those code paths' own DB-level guards.
|
|
62
|
+
*
|
|
63
|
+
* @license Apache-2.0
|
|
64
|
+
*/
|
|
65
|
+
/** T0: genesis — the empty pre-initiation state. */
|
|
66
|
+
export function genesis() {
|
|
67
|
+
return { tag: 'none', dbStatus: null };
|
|
68
|
+
}
|
|
69
|
+
/** T1 Initiate: none -> initiated. Maps to create.js status:'initiated'. */
|
|
70
|
+
export function initiate(_s) {
|
|
71
|
+
return { tag: 'initiated', dbStatus: 'initiated' };
|
|
72
|
+
}
|
|
73
|
+
/** T2 Present: initiated -> pending_verification. Maps to present.js. */
|
|
74
|
+
export function present(_s) {
|
|
75
|
+
return { tag: 'pending_verification', dbStatus: 'pending_verification' };
|
|
76
|
+
}
|
|
77
|
+
/** T3 VerifyAccept: pending_verification -> verified. verify.js outcome='accepted'. */
|
|
78
|
+
export function verifyAccept(_s) {
|
|
79
|
+
return { tag: 'verified', dbStatus: 'verified' };
|
|
80
|
+
}
|
|
81
|
+
/** T4 VerifyReject: pending_verification -> rejected (terminal). verify.js outcome='rejected'. */
|
|
82
|
+
export function verifyReject(_s) {
|
|
83
|
+
return { tag: 'rejected', dbStatus: 'rejected' };
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* T5 Consume: verified -> consumed (terminal). consume.js requires 'verified' state
|
|
87
|
+
* and enforces consume-once at the DB level.
|
|
88
|
+
*/
|
|
89
|
+
export function consume(_s) {
|
|
90
|
+
return { tag: 'consumed', dbStatus: 'verified' };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* T6 Revoke: {initiated|pending_verification|verified} -> revoked (terminal).
|
|
94
|
+
* finalize.js. Legal only from an active (pre-terminal) state.
|
|
95
|
+
*/
|
|
96
|
+
export function revoke(_s) {
|
|
97
|
+
return { tag: 'revoked', dbStatus: 'revoked' };
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* T7 Expire: {initiated|pending_verification|verified} -> expired (terminal).
|
|
101
|
+
* verify.js outcome='expired'. Legal only from an active (pre-terminal) state.
|
|
102
|
+
*/
|
|
103
|
+
export function expire(_s) {
|
|
104
|
+
return { tag: 'expired', dbStatus: 'expired' };
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=protocol-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-state.js","sourceRoot":"","sources":["../src/protocol-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAiCH,oDAAoD;AACpD,MAAM,UAAU,OAAO;IACrB,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,QAAQ,CAAC,EAAQ;IAC/B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,OAAO,CAAC,EAAa;IACnC,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;AAC3E,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,YAAY,CAAC,EAAuB;IAClD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACnD,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,YAAY,CAAC,EAAuB;IAClD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,EAAY;IAClC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,EAAU;IAC/B,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,EAAU;IAC/B,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export declare const RECEIPT_PROGRAM_VERSION = "EP-RECEIPT-PROGRAM-v1";
|
|
2
|
+
export declare const RECEIPT_PROGRAM_CERTIFICATE_VERSION = "EP-RECEIPT-PROGRAM-CERTIFICATE-v1";
|
|
3
|
+
export declare const RECEIPT_PROGRAM_SIGNATURE_ALGORITHM = "Ed25519";
|
|
4
|
+
/**
|
|
5
|
+
* Build a receipt-program kernel over an already configured Gate.
|
|
6
|
+
* Trust configuration is constructor-pinned and cannot be supplied per run.
|
|
7
|
+
*
|
|
8
|
+
* options.gate: configured EMILIA Gate
|
|
9
|
+
* options.resolveCaid: synchronous pinned CAID resolver, (action) => string|object
|
|
10
|
+
* options.operationIdField: dot-path to the stable operation id in observed action
|
|
11
|
+
* options.certificatePrivateKey: test/demo-only Ed25519 operator key
|
|
12
|
+
* options.certificateSigner: external KMS/HSM signer
|
|
13
|
+
* options.certificateContext: pinned issuer, tenant, environment, audience, and key id
|
|
14
|
+
* options.projectResult: pinned disclosure projection, (result) => any|Promise<any>
|
|
15
|
+
* options.effectTimeoutMs: provider deadline in milliseconds (default 30000)
|
|
16
|
+
* options.allowEphemeralState: explicit test/demo opt-in (default false)
|
|
17
|
+
* options.now: number|(() => number), default Date.now
|
|
18
|
+
*/
|
|
19
|
+
export declare function createReceiptProgramKernel({ gate, resolveCaid, operationIdField, certificatePrivateKey, certificateSigner, certificateContext, projectResult, effectTimeoutMs, allowEphemeralState, now, }?: any): Readonly<{
|
|
20
|
+
version: string;
|
|
21
|
+
signer_public_key: any;
|
|
22
|
+
certificate_context: any;
|
|
23
|
+
/**
|
|
24
|
+
* Execute one consequential receipt instruction through Gate.
|
|
25
|
+
* The effect MUST return a bounded canonical-JSON evidence projection, not
|
|
26
|
+
* a raw provider object. A projection failure occurs after provider entry
|
|
27
|
+
* and is therefore committed as indeterminate.
|
|
28
|
+
*/
|
|
29
|
+
run(request: any | undefined, effect: any): Promise<any>;
|
|
30
|
+
/**
|
|
31
|
+
* Explicit crash-recovery path. It scans the durable evidence history only
|
|
32
|
+
* when requested and returns every independently verified certificate for
|
|
33
|
+
* one program digest; it never guesses which attempt a caller intended.
|
|
34
|
+
*/
|
|
35
|
+
recoverCertificates(programDigest: any): Promise<any>;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Verify the certificate's operator signature, content addresses, program
|
|
39
|
+
* binding, and Gate evidence linkage. This proves exact certificate integrity
|
|
40
|
+
* under a pinned operator key; it does not prove an external provider told the
|
|
41
|
+
* truth or replace verification of the referenced receipt/capability artifacts.
|
|
42
|
+
*
|
|
43
|
+
* options.trustedCertificateKeys?: Record<string, string>
|
|
44
|
+
* options.resolveCaid?: ((action: any) => any)|null
|
|
45
|
+
* options.expectedContext?: object|null
|
|
46
|
+
* options.certificateEvidence?: any
|
|
47
|
+
* options.verifyCertificateInclusion?: (((record: any, expectation: any) => any)|null)
|
|
48
|
+
* options.requireAtomicCertificateEvidence?: boolean
|
|
49
|
+
*/
|
|
50
|
+
export declare function verifyReceiptProgramCertificate(certificate: any, { trustedCertificateKeys, resolveCaid, expectedContext, certificateEvidence, verifyCertificateInclusion, requireAtomicCertificateEvidence, }?: any): any;
|
|
51
|
+
declare const _default: {
|
|
52
|
+
RECEIPT_PROGRAM_VERSION: string;
|
|
53
|
+
RECEIPT_PROGRAM_CERTIFICATE_VERSION: string;
|
|
54
|
+
RECEIPT_PROGRAM_SIGNATURE_ALGORITHM: string;
|
|
55
|
+
createReceiptProgramKernel: typeof createReceiptProgramKernel;
|
|
56
|
+
verifyReceiptProgramCertificate: typeof verifyReceiptProgramCertificate;
|
|
57
|
+
};
|
|
58
|
+
export default _default;
|
|
59
|
+
//# sourceMappingURL=receipt-program.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-program.d.ts","sourceRoot":"","sources":["../src/receipt-program.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D,eAAO,MAAM,mCAAmC,sCAAsC,CAAC;AACvF,eAAO,MAAM,mCAAmC,YAAY,CAAC;AAsS7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,aAAoB,EACpB,eAAwB,EACxB,mBAA2B,EAC3B,GAAc,GACf,GAAE,GAAQ;;;;IAoGP;;;;;OAKG;iBACgB,GAAG,sBAAe,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAiSvD;;;;OAIG;uCACsC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;GAyC9D;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,GAAG,EAAE,EAChE,sBAA2B,EAC3B,WAAkB,EAClB,eAAsB,EACtB,mBAA0B,EAC1B,0BAAiC,EACjC,gCAAwC,GACzC,GAAE,GAAQ,GAAG,GAAG,CA2RhB;;;;;;;;AAED,wBAME"}
|