@hasna/infinity 0.1.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/LICENSE +3 -0
- package/README.md +331 -0
- package/dist/cli.js +2965 -0
- package/dist/http-api.js +6448 -0
- package/dist/index.js +28536 -0
- package/dist/migrate.js +346 -0
- package/dist/self-hosted-migrate.js +2064 -0
- package/dist/self-hosted.js +13180 -0
- package/dist/types/authcapsules/codewith-local.d.ts +109 -0
- package/dist/types/authcapsules/infinity-agent-policy.d.ts +57 -0
- package/dist/types/authcapsules/os-isolated-runner.d.ts +87 -0
- package/dist/types/authority/authority.d.ts +342 -0
- package/dist/types/authority/effect-journal.d.ts +205 -0
- package/dist/types/authority/mutation-journal.d.ts +163 -0
- package/dist/types/authority/mutation-tuple.d.ts +26 -0
- package/dist/types/authority/state.d.ts +75 -0
- package/dist/types/authority/store.d.ts +15 -0
- package/dist/types/brokers/checkpoint/archive.d.ts +21 -0
- package/dist/types/brokers/checkpoint/bundle.d.ts +22 -0
- package/dist/types/brokers/checkpoint/bytes.d.ts +4 -0
- package/dist/types/brokers/checkpoint/clean-verifier-finalization.d.ts +62 -0
- package/dist/types/brokers/checkpoint/clean-verifier.d.ts +145 -0
- package/dist/types/brokers/checkpoint/final-trust-authority.d.ts +55 -0
- package/dist/types/brokers/checkpoint/idempotency.d.ts +25 -0
- package/dist/types/brokers/checkpoint/journaled-store.d.ts +9 -0
- package/dist/types/brokers/checkpoint/manifest-signature.d.ts +135 -0
- package/dist/types/brokers/checkpoint/manifest.d.ts +57 -0
- package/dist/types/brokers/checkpoint/s3-store.d.ts +215 -0
- package/dist/types/brokers/checkpoint/seal-authority.d.ts +86 -0
- package/dist/types/brokers/checkpoint/service.d.ts +198 -0
- package/dist/types/brokers/checkpoint/signing-message.d.ts +22 -0
- package/dist/types/brokers/checkpoint/store.d.ts +76 -0
- package/dist/types/brokers/checkpoint/verifier-cleanup-authority.d.ts +108 -0
- package/dist/types/brokers/checkpoint/verifier-cleanup.d.ts +391 -0
- package/dist/types/brokers/checkpoint/verifier.d.ts +225 -0
- package/dist/types/brokers/composition.d.ts +86 -0
- package/dist/types/brokers/git/github-app.d.ts +216 -0
- package/dist/types/brokers/git/promotion.d.ts +418 -0
- package/dist/types/brokers/persistence/contracts.d.ts +77 -0
- package/dist/types/brokers/persistence/memory.d.ts +5 -0
- package/dist/types/brokers/persistence/migration.d.ts +6 -0
- package/dist/types/brokers/persistence/postgres.d.ts +74 -0
- package/dist/types/cli/main.d.ts +2 -0
- package/dist/types/cli/operation-journal.d.ts +47 -0
- package/dist/types/cli/run.d.ts +15 -0
- package/dist/types/client/operator-client.d.ts +100 -0
- package/dist/types/contracts/dtos.d.ts +198 -0
- package/dist/types/contracts/events.d.ts +45 -0
- package/dist/types/contracts/fence.d.ts +39 -0
- package/dist/types/contracts/operations.d.ts +91 -0
- package/dist/types/contracts/runspec.d.ts +75 -0
- package/dist/types/contracts/validators.d.ts +8 -0
- package/dist/types/core/clock.d.ts +12 -0
- package/dist/types/core/errors.d.ts +18 -0
- package/dist/types/core/ids.d.ts +10 -0
- package/dist/types/core/int64.d.ts +7 -0
- package/dist/types/core/strict-json.d.ts +8 -0
- package/dist/types/core/validation.d.ts +25 -0
- package/dist/types/golden/disposable-task.d.ts +108 -0
- package/dist/types/golden/source-pins.d.ts +77 -0
- package/dist/types/http/api.d.ts +52 -0
- package/dist/types/http/bearer-auth.d.ts +8 -0
- package/dist/types/http/main.d.ts +3 -0
- package/dist/types/http/self-hosted-main.d.ts +17 -0
- package/dist/types/index.d.ts +65 -0
- package/dist/types/mcp/schema.d.ts +7 -0
- package/dist/types/node-agent/agent.d.ts +174 -0
- package/dist/types/node-agent/contracts.d.ts +119 -0
- package/dist/types/node-agent/macos-service.d.ts +33 -0
- package/dist/types/node-agent/service-cli.d.ts +26 -0
- package/dist/types/persistence/composition.d.ts +49 -0
- package/dist/types/persistence/migrate-main.d.ts +2 -0
- package/dist/types/persistence/migrations.d.ts +30 -0
- package/dist/types/persistence/postgres-accounts-operation.d.ts +26 -0
- package/dist/types/persistence/postgres-authority.d.ts +69 -0
- package/dist/types/persistence/postgres-external-mutation-journal.d.ts +22 -0
- package/dist/types/persistence/postgres-json.d.ts +1 -0
- package/dist/types/persistence/postgres-mutation-journal.d.ts +31 -0
- package/dist/types/persistence/postgres-reconciler.d.ts +34 -0
- package/dist/types/persistence/postgres-sandbox-dispatch-authority.d.ts +9 -0
- package/dist/types/persistence/self-hosted-migrate-main.d.ts +2 -0
- package/dist/types/ports/accounts-operation.d.ts +336 -0
- package/dist/types/ports/accounts.d.ts +293 -0
- package/dist/types/ports/sandbox-dispatch-authority.d.ts +154 -0
- package/dist/types/ports/sandboxes.d.ts +40 -0
- package/dist/types/providers/sandbox-dispatch.d.ts +143 -0
- package/dist/types/runtime/config.d.ts +61 -0
- package/dist/types/runtime/postgres.d.ts +18 -0
- package/dist/types/runtime/provider-activation.d.ts +45 -0
- package/dist/types/runtime/server.d.ts +68 -0
- package/dist/types/testing/accounts-fake.d.ts +31 -0
- package/dist/types/testing/fakes.d.ts +2 -0
- package/dist/types/testing/node-control-plane-fake.d.ts +20 -0
- package/dist/types/testing/reference.d.ts +27 -0
- package/dist/types/testing/sandboxes-fake.d.ts +22 -0
- package/evidence/provider-live-daytona-v3.json +1 -0
- package/evidence/provider-live-e2b-v3.json +1 -0
- package/evidence/provider-production-route-daytona-v1.json +1 -0
- package/evidence/provider-production-route-e2b-v1.json +1 -0
- package/migrations/0001_authority.sql +689 -0
- package/migrations/0002_effect_step_global_owner.sql +2 -0
- package/migrations/0003_effect_journal_observed_head.sql +34 -0
- package/migrations/0004_authority_mutation_journal_binding.sql +15 -0
- package/migrations/20260710_checkpoint_broker_v1.sql +163 -0
- package/migrations/20260711_accounts_operation_v1.sql +137 -0
- package/migrations/20260711_checkpoint_trust_v2.sql +17 -0
- package/migrations/20260711_verifier_cleanup_v2.sql +169 -0
- package/migrations/20260711_z_accounts_claim_authority_v2.sql +172 -0
- package/migrations/20260711_zz_sandbox_dispatch_authority_v1.sql +143 -0
- package/migrations/20260712_sandbox_dispatch_authority_v2.sql +58 -0
- package/migrations/external-journal/0001_external_authority_mutation_journal.sql +175 -0
- package/package.json +47 -0
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
import { type BrokerFence } from "../../contracts/fence";
|
|
2
|
+
import { type Int64 } from "../../core/int64";
|
|
3
|
+
export type VerifierSandboxProvider = "e2b" | "daytona_cloud";
|
|
4
|
+
export type VerifierSandboxDependentResourceType = "volume" | "network_attachment" | "snapshot";
|
|
5
|
+
export interface ManagedVerifierProviderHandle {
|
|
6
|
+
schemaVersion: "sandboxes.provider-handle/v1";
|
|
7
|
+
provider: VerifierSandboxProvider;
|
|
8
|
+
providerAccountRef: string;
|
|
9
|
+
region: string;
|
|
10
|
+
resourceType: "sandbox";
|
|
11
|
+
nativeResourceId: string;
|
|
12
|
+
nativeIncarnationId: string;
|
|
13
|
+
clientTokenSha256: string;
|
|
14
|
+
creationReceiptSha256: string;
|
|
15
|
+
ownershipReceiptSha256: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ManagedVerifierDependentResource {
|
|
18
|
+
schemaVersion: "sandboxes.dependent-resource/v1";
|
|
19
|
+
provider: VerifierSandboxProvider;
|
|
20
|
+
providerAccountRef: string;
|
|
21
|
+
region: string;
|
|
22
|
+
resourceType: VerifierSandboxDependentResourceType;
|
|
23
|
+
nativeResourceId: string;
|
|
24
|
+
nativeIncarnationId: string;
|
|
25
|
+
ownershipReceiptSha256: string;
|
|
26
|
+
}
|
|
27
|
+
export interface SandboxesVerifierAllocationReceiptCore {
|
|
28
|
+
schemaVersion: "sandboxes.verifier-allocation-receipt/v1";
|
|
29
|
+
issuer: string;
|
|
30
|
+
audience: "infinity:clean-verifier";
|
|
31
|
+
verificationFence: BrokerFence;
|
|
32
|
+
resourceId: string;
|
|
33
|
+
resourceLeaseId: string;
|
|
34
|
+
resourceLifecycleGeneration: Int64;
|
|
35
|
+
providerHandle: ManagedVerifierProviderHandle;
|
|
36
|
+
dependentResources: ManagedVerifierDependentResource[];
|
|
37
|
+
dependentResourceClosureSha256: string;
|
|
38
|
+
allocatedAt: string;
|
|
39
|
+
expiresAt: string;
|
|
40
|
+
}
|
|
41
|
+
export interface SandboxesVerifierAllocationReceiptAttestation {
|
|
42
|
+
schemaVersion: "sandboxes.verifier-allocation-attestation/v1";
|
|
43
|
+
keyId: string;
|
|
44
|
+
algorithm: "ecdsa-p256-sha256";
|
|
45
|
+
signedCoreSha256: string;
|
|
46
|
+
signatureBase64: string;
|
|
47
|
+
signatureSha256: string;
|
|
48
|
+
receiptSha256: string;
|
|
49
|
+
}
|
|
50
|
+
export interface SandboxesVerifierAllocationReceipt extends SandboxesVerifierAllocationReceiptCore {
|
|
51
|
+
attestation: SandboxesVerifierAllocationReceiptAttestation;
|
|
52
|
+
}
|
|
53
|
+
export interface SandboxesVerifierAllocationReceiptVerifierPort {
|
|
54
|
+
verifyDigest(input: {
|
|
55
|
+
domain: "sandboxes.verifier-allocation-receipt/v1";
|
|
56
|
+
issuer: string;
|
|
57
|
+
audience: "infinity:clean-verifier";
|
|
58
|
+
digest: string;
|
|
59
|
+
keyId: string;
|
|
60
|
+
algorithm: "ecdsa-p256-sha256";
|
|
61
|
+
signature: Uint8Array;
|
|
62
|
+
}): Promise<boolean>;
|
|
63
|
+
}
|
|
64
|
+
export interface ManagedVerifierSandboxHandle {
|
|
65
|
+
resourceId: string;
|
|
66
|
+
resourceLeaseId: string;
|
|
67
|
+
resourceLifecycleGeneration: Int64;
|
|
68
|
+
leaseHolderPrincipal: string;
|
|
69
|
+
operationExecutorPrincipal: string;
|
|
70
|
+
audience: "clean-verifier";
|
|
71
|
+
providerHandle: ManagedVerifierProviderHandle;
|
|
72
|
+
dependentResources: ManagedVerifierDependentResource[];
|
|
73
|
+
dependentResourceClosureSha256: string;
|
|
74
|
+
allocationReceipt: SandboxesVerifierAllocationReceipt;
|
|
75
|
+
}
|
|
76
|
+
export interface VerifierCleanupTarget {
|
|
77
|
+
schemaVersion: "infinity.verifier-cleanup-target/v1";
|
|
78
|
+
resourceId: string;
|
|
79
|
+
resourceLeaseId: string;
|
|
80
|
+
resourceLifecycleGeneration: Int64;
|
|
81
|
+
providerHandle: ManagedVerifierProviderHandle;
|
|
82
|
+
dependentResources: ManagedVerifierDependentResource[];
|
|
83
|
+
dependentResourceClosureSha256: string;
|
|
84
|
+
allocationReceipt: SandboxesVerifierAllocationReceipt;
|
|
85
|
+
allocationReceiptSha256: string;
|
|
86
|
+
}
|
|
87
|
+
export interface VerifierCleanupGrantBinding {
|
|
88
|
+
checkpointSealSha256: string;
|
|
89
|
+
verificationDisposition: "pass" | "fail";
|
|
90
|
+
verificationResultSha256: string;
|
|
91
|
+
}
|
|
92
|
+
export interface VerifierCleanupGrantCore extends VerifierCleanupGrantBinding {
|
|
93
|
+
schemaVersion: "infinity.verifier-cleanup-grant/v2";
|
|
94
|
+
action: "destroy_verifier_sandbox";
|
|
95
|
+
maxUses: 1;
|
|
96
|
+
cleanupNonce: string;
|
|
97
|
+
consumptionTransactionId: string;
|
|
98
|
+
verificationOperationId: string;
|
|
99
|
+
verificationFence: BrokerFence;
|
|
100
|
+
fence: BrokerFence;
|
|
101
|
+
target: VerifierCleanupTarget;
|
|
102
|
+
targetSha256: string;
|
|
103
|
+
resourceGenerationBefore: Int64;
|
|
104
|
+
resourceGenerationAfter: Int64;
|
|
105
|
+
expiresAt: string;
|
|
106
|
+
}
|
|
107
|
+
export interface VerifierCleanupGrant extends VerifierCleanupGrantCore {
|
|
108
|
+
grantSha256: string;
|
|
109
|
+
}
|
|
110
|
+
export interface SandboxesResourceAbsence {
|
|
111
|
+
schemaVersion: "sandboxes.resource-absence/v1";
|
|
112
|
+
provider: VerifierSandboxProvider;
|
|
113
|
+
providerAccountRef: string;
|
|
114
|
+
region: string;
|
|
115
|
+
resourceType: "sandbox" | VerifierSandboxDependentResourceType;
|
|
116
|
+
nativeResourceId: string;
|
|
117
|
+
nativeIncarnationId: string;
|
|
118
|
+
absent: true;
|
|
119
|
+
providerRequestId: string;
|
|
120
|
+
}
|
|
121
|
+
export interface SandboxesVerifierCleanupReceiptCore extends VerifierCleanupGrantBinding {
|
|
122
|
+
schemaVersion: "sandboxes.verifier-cleanup-receipt/v1";
|
|
123
|
+
issuer: string;
|
|
124
|
+
audience: "infinity:verifier-cleanup";
|
|
125
|
+
action: "destroy_verifier_sandbox";
|
|
126
|
+
maxUses: 1;
|
|
127
|
+
cleanupNonce: string;
|
|
128
|
+
consumptionTransactionId: string;
|
|
129
|
+
verificationOperationId: string;
|
|
130
|
+
verificationFence: BrokerFence;
|
|
131
|
+
cleanupFence: BrokerFence;
|
|
132
|
+
cleanupGrant: VerifierCleanupGrant;
|
|
133
|
+
target: VerifierCleanupTarget;
|
|
134
|
+
targetSha256: string;
|
|
135
|
+
dependentResourceClosureSha256: string;
|
|
136
|
+
resourceGenerationBefore: Int64;
|
|
137
|
+
resourceGenerationAfter: Int64;
|
|
138
|
+
rootAbsence: SandboxesResourceAbsence;
|
|
139
|
+
dependentAbsences: SandboxesResourceAbsence[];
|
|
140
|
+
dependentAbsenceClosureSha256: string;
|
|
141
|
+
issuedAt: string;
|
|
142
|
+
completedAt: string;
|
|
143
|
+
expiresAt: string;
|
|
144
|
+
}
|
|
145
|
+
export interface SandboxesVerifierCleanupReceiptAttestation {
|
|
146
|
+
schemaVersion: "sandboxes.verifier-cleanup-attestation/v1";
|
|
147
|
+
keyId: string;
|
|
148
|
+
algorithm: "ecdsa-p256-sha256";
|
|
149
|
+
signedCoreSha256: string;
|
|
150
|
+
signatureBase64: string;
|
|
151
|
+
signatureSha256: string;
|
|
152
|
+
receiptSha256: string;
|
|
153
|
+
}
|
|
154
|
+
export interface SandboxesVerifierCleanupReceipt extends SandboxesVerifierCleanupReceiptCore {
|
|
155
|
+
attestation: SandboxesVerifierCleanupReceiptAttestation;
|
|
156
|
+
}
|
|
157
|
+
export type VerifierQuarantineReason = "invalid_allocation" | "cleanup_failure";
|
|
158
|
+
export interface VerifierQuarantineExpectation {
|
|
159
|
+
verificationFence: BrokerFence;
|
|
160
|
+
quarantineReason: VerifierQuarantineReason;
|
|
161
|
+
quarantineSubjectSha256: string;
|
|
162
|
+
}
|
|
163
|
+
export interface SandboxesVerifierQuarantineReceiptCore {
|
|
164
|
+
schemaVersion: "sandboxes.verifier-quarantine-receipt/v1";
|
|
165
|
+
issuer: string;
|
|
166
|
+
audience: "infinity:verifier-quarantine";
|
|
167
|
+
quarantineReason: VerifierQuarantineReason;
|
|
168
|
+
verificationFence: BrokerFence;
|
|
169
|
+
resourceId: string;
|
|
170
|
+
resourceLeaseId: string;
|
|
171
|
+
resourceLifecycleGeneration: Int64;
|
|
172
|
+
quarantineSubjectSha256: string;
|
|
173
|
+
quarantined: true;
|
|
174
|
+
providerRequestId: string;
|
|
175
|
+
completedAt: string;
|
|
176
|
+
expiresAt: string;
|
|
177
|
+
}
|
|
178
|
+
export interface SandboxesVerifierQuarantineReceiptAttestation {
|
|
179
|
+
schemaVersion: "sandboxes.verifier-quarantine-attestation/v1";
|
|
180
|
+
keyId: string;
|
|
181
|
+
algorithm: "ecdsa-p256-sha256";
|
|
182
|
+
signedCoreSha256: string;
|
|
183
|
+
signatureBase64: string;
|
|
184
|
+
signatureSha256: string;
|
|
185
|
+
receiptSha256: string;
|
|
186
|
+
}
|
|
187
|
+
export interface SandboxesVerifierQuarantineReceipt extends SandboxesVerifierQuarantineReceiptCore {
|
|
188
|
+
attestation: SandboxesVerifierQuarantineReceiptAttestation;
|
|
189
|
+
}
|
|
190
|
+
export interface SandboxesVerifierQuarantineReceiptVerifierPort {
|
|
191
|
+
verifyDigest(input: {
|
|
192
|
+
domain: "sandboxes.verifier-quarantine-receipt/v1";
|
|
193
|
+
issuer: string;
|
|
194
|
+
audience: "infinity:verifier-quarantine";
|
|
195
|
+
digest: string;
|
|
196
|
+
keyId: string;
|
|
197
|
+
algorithm: "ecdsa-p256-sha256";
|
|
198
|
+
signature: Uint8Array;
|
|
199
|
+
}): Promise<boolean>;
|
|
200
|
+
}
|
|
201
|
+
export interface SandboxesVerifierCleanupReceiptVerifierPort {
|
|
202
|
+
verifyDigest(input: {
|
|
203
|
+
domain: "sandboxes.verifier-cleanup-receipt/v1";
|
|
204
|
+
issuer: string;
|
|
205
|
+
audience: "infinity:verifier-cleanup";
|
|
206
|
+
digest: string;
|
|
207
|
+
keyId: string;
|
|
208
|
+
algorithm: "ecdsa-p256-sha256";
|
|
209
|
+
signature: Uint8Array;
|
|
210
|
+
}): Promise<boolean>;
|
|
211
|
+
}
|
|
212
|
+
export interface VerifierCleanupCommitReceipt extends VerifierCleanupGrantBinding {
|
|
213
|
+
schemaVersion: "infinity.verifier-cleanup-consumption/v1";
|
|
214
|
+
action: "destroy_verifier_sandbox";
|
|
215
|
+
cleanupNonce: string;
|
|
216
|
+
consumptionTransactionId: string;
|
|
217
|
+
verificationOperationId: string;
|
|
218
|
+
verificationFence: BrokerFence;
|
|
219
|
+
cleanupFence: BrokerFence;
|
|
220
|
+
target: VerifierCleanupTarget;
|
|
221
|
+
targetSha256: string;
|
|
222
|
+
dependentResourceClosureSha256: string;
|
|
223
|
+
sandboxesCleanupReceiptSha256: string;
|
|
224
|
+
resourceGenerationBefore: Int64;
|
|
225
|
+
resourceGenerationAfter: Int64;
|
|
226
|
+
logicalCleanupState: "committed";
|
|
227
|
+
promotionGate: "open" | "closed";
|
|
228
|
+
authorityTransactionId: string;
|
|
229
|
+
authorityEventId: string;
|
|
230
|
+
committedAt: string;
|
|
231
|
+
}
|
|
232
|
+
export interface VerifiedVerifierCleanupEvidence {
|
|
233
|
+
sandboxReceipt: SandboxesVerifierCleanupReceipt;
|
|
234
|
+
consumptionCommit: VerifierCleanupCommitReceipt;
|
|
235
|
+
}
|
|
236
|
+
export interface VerifierCleanupAuthorityPort {
|
|
237
|
+
authorize(input: {
|
|
238
|
+
verificationFence: BrokerFence;
|
|
239
|
+
handle: ManagedVerifierSandboxHandle;
|
|
240
|
+
checkpointSealSha256: string;
|
|
241
|
+
verificationDisposition: "pass" | "fail";
|
|
242
|
+
verificationResultSha256: string;
|
|
243
|
+
}): Promise<VerifierCleanupGrant>;
|
|
244
|
+
consumeAndCommit(input: {
|
|
245
|
+
verificationFence: BrokerFence;
|
|
246
|
+
grant: VerifierCleanupGrant;
|
|
247
|
+
receipt: SandboxesVerifierCleanupReceipt;
|
|
248
|
+
receiptCanonicalBytes: Uint8Array;
|
|
249
|
+
receiptSha256: string;
|
|
250
|
+
}): Promise<VerifierCleanupCommitReceipt>;
|
|
251
|
+
verifyCommitted(input: {
|
|
252
|
+
consumptionTransactionId: string;
|
|
253
|
+
cleanupNonce: string;
|
|
254
|
+
grant: VerifierCleanupGrant;
|
|
255
|
+
receipt: SandboxesVerifierCleanupReceipt;
|
|
256
|
+
receiptCanonicalBytes: Uint8Array;
|
|
257
|
+
receiptSha256: string;
|
|
258
|
+
commit: VerifierCleanupCommitReceipt;
|
|
259
|
+
}): Promise<VerifierCleanupCommitReceipt>;
|
|
260
|
+
recordQuarantine(input: {
|
|
261
|
+
receipt: SandboxesVerifierQuarantineReceipt;
|
|
262
|
+
receiptCanonicalBytes: Uint8Array;
|
|
263
|
+
receiptSha256: string;
|
|
264
|
+
}): Promise<SandboxesVerifierQuarantineReceipt>;
|
|
265
|
+
verifyQuarantineRecorded(input: {
|
|
266
|
+
receipt: SandboxesVerifierQuarantineReceipt;
|
|
267
|
+
receiptCanonicalBytes: Uint8Array;
|
|
268
|
+
receiptSha256: string;
|
|
269
|
+
}): Promise<SandboxesVerifierQuarantineReceipt>;
|
|
270
|
+
}
|
|
271
|
+
export interface VerifierCleanupGrantAuthorityPort {
|
|
272
|
+
authorize(input: {
|
|
273
|
+
verificationFence: BrokerFence;
|
|
274
|
+
handle: ManagedVerifierSandboxHandle;
|
|
275
|
+
checkpointSealSha256: string;
|
|
276
|
+
verificationDisposition: "pass" | "fail";
|
|
277
|
+
verificationResultSha256: string;
|
|
278
|
+
}): Promise<VerifierCleanupGrant>;
|
|
279
|
+
}
|
|
280
|
+
export interface VerifierCleanupFenceAuthorityPort {
|
|
281
|
+
readCurrentFence(operationId: string): Promise<{
|
|
282
|
+
fence: BrokerFence;
|
|
283
|
+
databaseTime: Date;
|
|
284
|
+
}>;
|
|
285
|
+
}
|
|
286
|
+
export declare class InMemoryVerifierCleanupAuthority implements VerifierCleanupAuthorityPort {
|
|
287
|
+
private readonly dependencies;
|
|
288
|
+
private sequence;
|
|
289
|
+
private readonly issuedByGrant;
|
|
290
|
+
private readonly issuedGrantByTransaction;
|
|
291
|
+
private readonly issuedGrantByNonce;
|
|
292
|
+
private readonly byTransaction;
|
|
293
|
+
private readonly transactionByNonce;
|
|
294
|
+
private readonly transactionByGrant;
|
|
295
|
+
private readonly resourceGeneration;
|
|
296
|
+
private readonly quarantineReceipts;
|
|
297
|
+
private consumptionTail;
|
|
298
|
+
constructor(dependencies: {
|
|
299
|
+
grantAuthority: VerifierCleanupGrantAuthorityPort;
|
|
300
|
+
receiptVerifier: SandboxesVerifierCleanupReceiptVerifierPort;
|
|
301
|
+
allocationReceiptVerifier: SandboxesVerifierAllocationReceiptVerifierPort;
|
|
302
|
+
quarantineReceiptVerifier: SandboxesVerifierQuarantineReceiptVerifierPort;
|
|
303
|
+
fenceAuthority: VerifierCleanupFenceAuthorityPort;
|
|
304
|
+
});
|
|
305
|
+
authorize(input: Parameters<VerifierCleanupGrantAuthorityPort["authorize"]>[0]): Promise<VerifierCleanupGrant>;
|
|
306
|
+
consumeAndCommit(input: {
|
|
307
|
+
verificationFence: BrokerFence;
|
|
308
|
+
grant: VerifierCleanupGrant;
|
|
309
|
+
receipt: SandboxesVerifierCleanupReceipt;
|
|
310
|
+
receiptCanonicalBytes: Uint8Array;
|
|
311
|
+
receiptSha256: string;
|
|
312
|
+
}): Promise<VerifierCleanupCommitReceipt>;
|
|
313
|
+
verifyCommitted(input: {
|
|
314
|
+
consumptionTransactionId: string;
|
|
315
|
+
cleanupNonce: string;
|
|
316
|
+
grant: VerifierCleanupGrant;
|
|
317
|
+
receipt: SandboxesVerifierCleanupReceipt;
|
|
318
|
+
receiptCanonicalBytes: Uint8Array;
|
|
319
|
+
receiptSha256: string;
|
|
320
|
+
commit: VerifierCleanupCommitReceipt;
|
|
321
|
+
}): Promise<VerifierCleanupCommitReceipt>;
|
|
322
|
+
recordQuarantine(input: {
|
|
323
|
+
receipt: SandboxesVerifierQuarantineReceipt;
|
|
324
|
+
receiptCanonicalBytes: Uint8Array;
|
|
325
|
+
receiptSha256: string;
|
|
326
|
+
}): Promise<SandboxesVerifierQuarantineReceipt>;
|
|
327
|
+
verifyQuarantineRecorded(input: {
|
|
328
|
+
receipt: SandboxesVerifierQuarantineReceipt;
|
|
329
|
+
receiptCanonicalBytes: Uint8Array;
|
|
330
|
+
receiptSha256: string;
|
|
331
|
+
}): Promise<SandboxesVerifierQuarantineReceipt>;
|
|
332
|
+
}
|
|
333
|
+
export declare function parseSandboxesVerifierAllocationReceipt(value: unknown, verificationFenceInput: BrokerFence): SandboxesVerifierAllocationReceipt;
|
|
334
|
+
export declare function sandboxesVerifierAllocationReceiptDigest(receipt: SandboxesVerifierAllocationReceipt): string;
|
|
335
|
+
export declare function verifySandboxesVerifierAllocationReceipt(receiptInput: SandboxesVerifierAllocationReceipt, verifier: SandboxesVerifierAllocationReceiptVerifierPort): Promise<void>;
|
|
336
|
+
export declare function parseManagedVerifierSandboxHandle(value: unknown, verificationFenceInput: BrokerFence): ManagedVerifierSandboxHandle;
|
|
337
|
+
export declare function verifierCleanupTarget(handleInput: ManagedVerifierSandboxHandle): VerifierCleanupTarget;
|
|
338
|
+
export declare function verifierCleanupGrantDigest(core: VerifierCleanupGrantCore): string;
|
|
339
|
+
export declare function verifierCleanupGrantRequestDigest(input: {
|
|
340
|
+
verificationFence: BrokerFence;
|
|
341
|
+
handle: ManagedVerifierSandboxHandle;
|
|
342
|
+
checkpointSealSha256: string;
|
|
343
|
+
verificationDisposition: "pass" | "fail";
|
|
344
|
+
verificationResultSha256: string;
|
|
345
|
+
}): string;
|
|
346
|
+
export declare function verifierCleanupOperationDigest(core: VerifierCleanupGrantCore | VerifierCleanupGrant): string;
|
|
347
|
+
export declare function parseVerifierCleanupGrant(value: unknown, handleInput: ManagedVerifierSandboxHandle, verificationFenceInput: BrokerFence, bindingInput: VerifierCleanupGrantBinding): VerifierCleanupGrant;
|
|
348
|
+
export declare function parseSandboxesVerifierCleanupReceipt(value: unknown, handleInput: ManagedVerifierSandboxHandle, grantInput: VerifierCleanupGrant): SandboxesVerifierCleanupReceipt;
|
|
349
|
+
export declare function sandboxesVerifierCleanupReceiptDigest(receipt: SandboxesVerifierCleanupReceipt): string;
|
|
350
|
+
export declare function verifySandboxesVerifierCleanupReceipt(receiptInput: SandboxesVerifierCleanupReceipt, verifier: SandboxesVerifierCleanupReceiptVerifierPort): Promise<void>;
|
|
351
|
+
export declare function verifierQuarantineSubjectDigest(input: {
|
|
352
|
+
quarantineReason: VerifierQuarantineReason;
|
|
353
|
+
verificationFence: BrokerFence;
|
|
354
|
+
target: VerifierCleanupTarget | null;
|
|
355
|
+
invalidAllocationEvidenceSha256: string | null;
|
|
356
|
+
}): string;
|
|
357
|
+
/**
|
|
358
|
+
* Produces a bounded digest of untrusted allocation identity fields without
|
|
359
|
+
* invoking accessors. This lets quarantine evidence name the malformed native
|
|
360
|
+
* resource even when the full handle cannot be parsed safely.
|
|
361
|
+
*/
|
|
362
|
+
export declare function verifierInvalidAllocationEvidenceDigest(untrustedHandle: unknown): string;
|
|
363
|
+
export declare function parseSandboxesVerifierQuarantineReceipt(value: unknown, expectedInput: VerifierQuarantineExpectation): SandboxesVerifierQuarantineReceipt;
|
|
364
|
+
export declare function sandboxesVerifierQuarantineReceiptDigest(receipt: SandboxesVerifierQuarantineReceipt): string;
|
|
365
|
+
export declare function sandboxesVerifierQuarantineReceiptCanonicalBytes(receipt: SandboxesVerifierQuarantineReceipt): Uint8Array;
|
|
366
|
+
export declare function verifySandboxesVerifierQuarantineReceipt(receiptInput: SandboxesVerifierQuarantineReceipt, verifier: SandboxesVerifierQuarantineReceiptVerifierPort): Promise<void>;
|
|
367
|
+
export declare function verifyRecordAndReadbackVerifierQuarantine(input: {
|
|
368
|
+
receipt: SandboxesVerifierQuarantineReceipt;
|
|
369
|
+
expected: VerifierQuarantineExpectation;
|
|
370
|
+
receiptVerifier: SandboxesVerifierQuarantineReceiptVerifierPort;
|
|
371
|
+
authority: VerifierCleanupAuthorityPort;
|
|
372
|
+
}): Promise<SandboxesVerifierQuarantineReceipt>;
|
|
373
|
+
export declare function parseVerifierCleanupCommitReceipt(value: unknown, grantInput: VerifierCleanupGrant, receiptInput: SandboxesVerifierCleanupReceipt): VerifierCleanupCommitReceipt;
|
|
374
|
+
export declare function verifierCleanupCommitReceiptDigest(receipt: VerifierCleanupCommitReceipt): string;
|
|
375
|
+
export declare function verifyConsumeAndCommitVerifierCleanup(input: {
|
|
376
|
+
verificationFence: BrokerFence;
|
|
377
|
+
handle: ManagedVerifierSandboxHandle;
|
|
378
|
+
grant: VerifierCleanupGrant;
|
|
379
|
+
receipt: SandboxesVerifierCleanupReceipt;
|
|
380
|
+
receiptVerifier: SandboxesVerifierCleanupReceiptVerifierPort;
|
|
381
|
+
authority: VerifierCleanupAuthorityPort;
|
|
382
|
+
}): Promise<VerifiedVerifierCleanupEvidence>;
|
|
383
|
+
export declare function verifyCommittedVerifierCleanupEvidence(input: {
|
|
384
|
+
grant: VerifierCleanupGrant;
|
|
385
|
+
receipt: SandboxesVerifierCleanupReceipt;
|
|
386
|
+
commit: VerifierCleanupCommitReceipt;
|
|
387
|
+
receiptVerifier: SandboxesVerifierCleanupReceiptVerifierPort;
|
|
388
|
+
authority: VerifierCleanupAuthorityPort;
|
|
389
|
+
}): Promise<VerifiedVerifierCleanupEvidence>;
|
|
390
|
+
export declare function assertVerifiedVerifierCleanupEvidence(evidenceInput: VerifiedVerifierCleanupEvidence): VerifiedVerifierCleanupEvidence;
|
|
391
|
+
export declare function sandboxesVerifierCleanupReceiptCanonicalBytes(receipt: SandboxesVerifierCleanupReceipt): Uint8Array;
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { type Int64 } from "../../core/int64";
|
|
2
|
+
import { type AuthenticatedFenceContext, type BrokerFence, type BrokerFenceInput } from "../../contracts/fence";
|
|
3
|
+
import { type CheckpointManifestSigningTrustHead } from "./manifest-signature";
|
|
4
|
+
import { type CheckpointSealReceipt } from "./service";
|
|
5
|
+
import { type VerifiedVerifierCleanupEvidence } from "./verifier-cleanup";
|
|
6
|
+
export interface CleanVerifierHandoffRequest {
|
|
7
|
+
checkpoint: CheckpointSealReceipt;
|
|
8
|
+
fence: BrokerFenceInput;
|
|
9
|
+
verifierImageSha256: string;
|
|
10
|
+
sourceSnapshotSha256: string;
|
|
11
|
+
testPlanSha256: string;
|
|
12
|
+
secretScanPolicySha256: string;
|
|
13
|
+
networkPolicySha256: string;
|
|
14
|
+
}
|
|
15
|
+
export interface CleanVerifierHandoff {
|
|
16
|
+
readonly schemaVersion: "infinity.clean-verifier-handoff/v1";
|
|
17
|
+
readonly checkpointId: string;
|
|
18
|
+
readonly checkpointSealSha256: string;
|
|
19
|
+
readonly checkpointSeal: CheckpointSealReceipt;
|
|
20
|
+
readonly checkpointManifestSha256: string;
|
|
21
|
+
readonly fence: BrokerFence;
|
|
22
|
+
readonly repositoryId: string;
|
|
23
|
+
readonly objectFormat: "sha1" | "sha256";
|
|
24
|
+
readonly expectedBaseOid: string;
|
|
25
|
+
readonly targetRef: string;
|
|
26
|
+
readonly candidateOid: string;
|
|
27
|
+
readonly candidateTreeOid: string;
|
|
28
|
+
readonly runSpecSha256: string;
|
|
29
|
+
readonly policySha256: string;
|
|
30
|
+
readonly checkpointScanReceiptSha256: string;
|
|
31
|
+
readonly packerImageSha256: string;
|
|
32
|
+
readonly dataClass: "public" | "internal_non_sensitive" | "sensitive_restricted";
|
|
33
|
+
readonly artifacts: CheckpointSealReceipt["manifest"]["artifacts"];
|
|
34
|
+
readonly manifestObject: CheckpointSealReceipt["manifestObject"];
|
|
35
|
+
readonly signatureObject: CheckpointSealReceipt["signatureObject"];
|
|
36
|
+
readonly provenanceReceiptObject: CheckpointSealReceipt["provenanceReceiptObject"];
|
|
37
|
+
readonly archiveIndexSha256: string;
|
|
38
|
+
readonly signatureKeyId: string;
|
|
39
|
+
readonly signatureAlgorithm: "ecdsa-p256-sha256";
|
|
40
|
+
readonly signatureSha256: string;
|
|
41
|
+
readonly signatureTrustAnchorSha256: string;
|
|
42
|
+
readonly signatureKeyHistorySha256: string;
|
|
43
|
+
readonly authorityCommit: CheckpointSealReceipt["authorityCommit"];
|
|
44
|
+
readonly verifierImageSha256: string;
|
|
45
|
+
readonly sourceSnapshotSha256: string;
|
|
46
|
+
readonly testPlanSha256: string;
|
|
47
|
+
readonly secretScanPolicySha256: string;
|
|
48
|
+
readonly networkPolicySha256: string;
|
|
49
|
+
readonly credentialMode: "none";
|
|
50
|
+
readonly networkMode: "deny_all";
|
|
51
|
+
readonly reuseProducerState: false;
|
|
52
|
+
readonly createdAt: string;
|
|
53
|
+
}
|
|
54
|
+
export interface PassingVerificationReceiptInput {
|
|
55
|
+
completedAt: string;
|
|
56
|
+
testReceiptSha256: string;
|
|
57
|
+
secretScanReceiptSha256: string;
|
|
58
|
+
verifierResultAttestationSha256: string;
|
|
59
|
+
verifierResultSha256: string;
|
|
60
|
+
cleanupEvidence: VerifiedVerifierCleanupEvidence;
|
|
61
|
+
resourceLimitsSha256: string;
|
|
62
|
+
testCommandsSha256: string;
|
|
63
|
+
}
|
|
64
|
+
export interface PassingVerificationReceiptCore {
|
|
65
|
+
readonly schemaVersion: "infinity.verification-receipt/v1";
|
|
66
|
+
readonly verdict: "pass";
|
|
67
|
+
readonly handoffSha256: string;
|
|
68
|
+
readonly checkpointId: string;
|
|
69
|
+
readonly checkpointSealSha256: string;
|
|
70
|
+
readonly checkpointManifestSha256: string;
|
|
71
|
+
readonly manifestSigningKeyId: string;
|
|
72
|
+
readonly fence: BrokerFence;
|
|
73
|
+
readonly repositoryId: string;
|
|
74
|
+
readonly objectFormat: "sha1" | "sha256";
|
|
75
|
+
readonly expectedBaseOid: string;
|
|
76
|
+
readonly targetRef: string;
|
|
77
|
+
readonly candidateOid: string;
|
|
78
|
+
readonly candidateTreeOid: string;
|
|
79
|
+
readonly runSpecSha256: string;
|
|
80
|
+
readonly policySha256: string;
|
|
81
|
+
readonly checkpointScanReceiptSha256: string;
|
|
82
|
+
readonly packerImageSha256: string;
|
|
83
|
+
readonly dataClass: "public" | "internal_non_sensitive" | "sensitive_restricted";
|
|
84
|
+
readonly verifierImageSha256: string;
|
|
85
|
+
readonly sourceSnapshotSha256: string;
|
|
86
|
+
readonly testPlanSha256: string;
|
|
87
|
+
readonly secretScanPolicySha256: string;
|
|
88
|
+
readonly networkPolicySha256: string;
|
|
89
|
+
readonly testReceiptSha256: string;
|
|
90
|
+
readonly secretScanReceiptSha256: string;
|
|
91
|
+
readonly verifierResultAttestationSha256: string;
|
|
92
|
+
readonly verifierResultSha256: string;
|
|
93
|
+
readonly cleanupGrantSha256: string;
|
|
94
|
+
readonly sandboxesCleanupReceiptSha256: string;
|
|
95
|
+
readonly cleanupConsumptionCommitSha256: string;
|
|
96
|
+
readonly cleanupConsumptionTransactionId: string;
|
|
97
|
+
readonly cleanupDependentClosureSha256: string;
|
|
98
|
+
readonly cleanupResourceGenerationAfter: Int64;
|
|
99
|
+
readonly verifierAllocationReceiptSha256: string;
|
|
100
|
+
readonly verifierProviderHandleSha256: string;
|
|
101
|
+
readonly verifierNativeIncarnationId: string;
|
|
102
|
+
readonly verifierProviderNativeResourceId: string;
|
|
103
|
+
readonly resourceLimitsSha256: string;
|
|
104
|
+
readonly testCommandsSha256: string;
|
|
105
|
+
readonly startedAt: string;
|
|
106
|
+
readonly completedAt: string;
|
|
107
|
+
}
|
|
108
|
+
export interface VerificationReceiptAuthorityAttestation {
|
|
109
|
+
readonly schemaVersion: "infinity.verification-authority-attestation/v1";
|
|
110
|
+
readonly signingKeyId: string;
|
|
111
|
+
readonly signatureAlgorithm: "ecdsa-p256-sha256";
|
|
112
|
+
readonly signedCoreSha256: string;
|
|
113
|
+
readonly signatureBase64: string;
|
|
114
|
+
readonly signatureSha256: string;
|
|
115
|
+
}
|
|
116
|
+
export interface AuthoritySignedPassingVerificationReceipt extends PassingVerificationReceiptCore {
|
|
117
|
+
readonly authorityAttestation: VerificationReceiptAuthorityAttestation;
|
|
118
|
+
}
|
|
119
|
+
export interface VerificationReceiptFinalTrustAuthorization {
|
|
120
|
+
readonly schemaVersion: "infinity.verification-final-trust-authorization/v1";
|
|
121
|
+
readonly signedReceiptSha256: string;
|
|
122
|
+
readonly manifestSigningKeyId: string;
|
|
123
|
+
readonly signingTrustHead: CheckpointManifestSigningTrustHead;
|
|
124
|
+
readonly signingTrustHeadSha256: string;
|
|
125
|
+
readonly authorizedAt: string;
|
|
126
|
+
readonly signingKeyId: string;
|
|
127
|
+
readonly signatureAlgorithm: "ecdsa-p256-sha256";
|
|
128
|
+
readonly signedAuthorizationSha256: string;
|
|
129
|
+
readonly signatureBase64: string;
|
|
130
|
+
readonly signatureSha256: string;
|
|
131
|
+
}
|
|
132
|
+
export interface PassingVerificationReceipt extends AuthoritySignedPassingVerificationReceipt {
|
|
133
|
+
readonly finalTrustAuthorization: VerificationReceiptFinalTrustAuthorization;
|
|
134
|
+
}
|
|
135
|
+
export interface VerificationReceiptFinalTrustAuthorityPort {
|
|
136
|
+
/** Atomically locks durable current trust, compares expectedCurrentSigningTrustHead, and signs the authorization. */
|
|
137
|
+
authorizePassingReceipt(input: {
|
|
138
|
+
signedReceipt: AuthoritySignedPassingVerificationReceipt;
|
|
139
|
+
signedReceiptSha256: string;
|
|
140
|
+
manifestSigningKeyId: string;
|
|
141
|
+
expectedCurrentSigningTrustHead: CheckpointManifestSigningTrustHead;
|
|
142
|
+
}): Promise<VerificationReceiptFinalTrustAuthorization>;
|
|
143
|
+
/** Verifies the authorization signature and checks it against durable current trust at call time. */
|
|
144
|
+
verifyCurrentAuthorization(input: {
|
|
145
|
+
signedReceipt: AuthoritySignedPassingVerificationReceipt;
|
|
146
|
+
signedReceiptSha256: string;
|
|
147
|
+
manifestSigningKeyId: string;
|
|
148
|
+
authorization: VerificationReceiptFinalTrustAuthorization;
|
|
149
|
+
}): Promise<{
|
|
150
|
+
verified: boolean;
|
|
151
|
+
databaseTime: Date;
|
|
152
|
+
currentSigningTrustHead: CheckpointManifestSigningTrustHead;
|
|
153
|
+
}>;
|
|
154
|
+
/** Holds the durable current-trust lock until effect settles and supplies the exact locked head/time. */
|
|
155
|
+
withCurrentAuthorization<T>(input: {
|
|
156
|
+
receipt: PassingVerificationReceipt;
|
|
157
|
+
action: string;
|
|
158
|
+
promotionFence: BrokerFence;
|
|
159
|
+
}, effect: (context: VerificationReceiptCurrentTrustEffectContext) => Promise<T>): Promise<T>;
|
|
160
|
+
}
|
|
161
|
+
export interface VerificationReceiptFinalTrustCryptographyPort {
|
|
162
|
+
signDigest(input: {
|
|
163
|
+
domain: "infinity.verification-final-trust-authorization/v1";
|
|
164
|
+
digest: string;
|
|
165
|
+
}): Promise<{
|
|
166
|
+
keyId: string;
|
|
167
|
+
algorithm: "ecdsa-p256-sha256";
|
|
168
|
+
signature: Uint8Array;
|
|
169
|
+
}>;
|
|
170
|
+
verifyDigest(input: {
|
|
171
|
+
domain: "infinity.verification-final-trust-authorization/v1";
|
|
172
|
+
digest: string;
|
|
173
|
+
keyId: string;
|
|
174
|
+
algorithm: "ecdsa-p256-sha256";
|
|
175
|
+
signature: Uint8Array;
|
|
176
|
+
}): Promise<boolean>;
|
|
177
|
+
}
|
|
178
|
+
export interface VerificationReceiptCurrentTrustEffectContext {
|
|
179
|
+
currentSigningTrustHead: CheckpointManifestSigningTrustHead;
|
|
180
|
+
databaseTime: Date;
|
|
181
|
+
/** Rechecks trusted time under the same durable current-trust row lock. */
|
|
182
|
+
assertFreshAtDispatch(): Promise<{
|
|
183
|
+
currentSigningTrustHead: CheckpointManifestSigningTrustHead;
|
|
184
|
+
databaseTime: Date;
|
|
185
|
+
}>;
|
|
186
|
+
}
|
|
187
|
+
export interface VerificationReceiptCryptographyPort {
|
|
188
|
+
signDigest(input: {
|
|
189
|
+
domain: "infinity.verification-receipt/v1";
|
|
190
|
+
digest: string;
|
|
191
|
+
fence: BrokerFence;
|
|
192
|
+
}): Promise<{
|
|
193
|
+
keyId: string;
|
|
194
|
+
algorithm: "ecdsa-p256-sha256";
|
|
195
|
+
signature: Uint8Array;
|
|
196
|
+
}>;
|
|
197
|
+
verifyDigest(input: {
|
|
198
|
+
domain: "infinity.verification-receipt/v1";
|
|
199
|
+
digest: string;
|
|
200
|
+
keyId: string;
|
|
201
|
+
algorithm: "ecdsa-p256-sha256";
|
|
202
|
+
signature: Uint8Array;
|
|
203
|
+
}): Promise<boolean>;
|
|
204
|
+
}
|
|
205
|
+
export declare function cleanVerifierOperationDigest(request: CleanVerifierHandoffRequest): string;
|
|
206
|
+
export declare function createCleanVerifierHandoff(request: CleanVerifierHandoffRequest, currentFence: BrokerFence, authenticated: AuthenticatedFenceContext): CleanVerifierHandoff;
|
|
207
|
+
/**
|
|
208
|
+
* Takes ownership of a handoff as plain data before any asynchronous boundary.
|
|
209
|
+
* The returned graph cannot retain aliases to caller-owned mutable objects.
|
|
210
|
+
*/
|
|
211
|
+
export declare function parseCleanVerifierHandoff(value: unknown): CleanVerifierHandoff;
|
|
212
|
+
export declare function createPassingVerificationReceipt(handoff: CleanVerifierHandoff, input: PassingVerificationReceiptInput): PassingVerificationReceiptCore;
|
|
213
|
+
export declare function signPassingVerificationReceipt(core: PassingVerificationReceiptCore, cryptography: VerificationReceiptCryptographyPort): Promise<AuthoritySignedPassingVerificationReceipt>;
|
|
214
|
+
export declare function finalizePassingVerificationReceipt(signedReceipt: AuthoritySignedPassingVerificationReceipt, expectedCurrentSigningTrustHead: CheckpointManifestSigningTrustHead, authority: VerificationReceiptFinalTrustAuthorityPort): Promise<PassingVerificationReceipt>;
|
|
215
|
+
export declare function verifyPassingVerificationReceiptSignature(receipt: PassingVerificationReceipt, cryptography: VerificationReceiptCryptographyPort): Promise<void>;
|
|
216
|
+
export declare function verifyAuthoritySignedPassingVerificationReceiptSignature(receipt: AuthoritySignedPassingVerificationReceipt, cryptography: VerificationReceiptCryptographyPort): Promise<void>;
|
|
217
|
+
export declare function verifyPassingVerificationReceiptFinalTrustAuthorization(receipt: PassingVerificationReceipt, authority: VerificationReceiptFinalTrustAuthorityPort): Promise<void>;
|
|
218
|
+
export declare function verificationReceiptTrustGenerationDigest(receipt: PassingVerificationReceipt, context: VerificationReceiptCurrentTrustEffectContext): string;
|
|
219
|
+
export declare function verificationReceiptDigest(receipt: PassingVerificationReceipt): string;
|
|
220
|
+
export declare function validatePassingVerificationReceipt(receipt: PassingVerificationReceipt): void;
|
|
221
|
+
export declare function validateAuthoritySignedPassingVerificationReceipt(receipt: AuthoritySignedPassingVerificationReceipt): void;
|
|
222
|
+
export declare function parseVerificationReceiptFinalTrustAuthorization(value: unknown, signedReceipt: AuthoritySignedPassingVerificationReceipt): VerificationReceiptFinalTrustAuthorization;
|
|
223
|
+
export declare function verificationReceiptFinalTrustAuthorizationDigest(input: Pick<VerificationReceiptFinalTrustAuthorization, "schemaVersion" | "signedReceiptSha256" | "manifestSigningKeyId" | "signingTrustHead" | "signingTrustHeadSha256" | "authorizedAt">): string;
|
|
224
|
+
export declare function validateCheckpointSealReceipt(checkpoint: CheckpointSealReceipt): void;
|
|
225
|
+
export declare function parseCheckpointSealReceipt(value: unknown): CheckpointSealReceipt;
|