@agentplat/trust 0.3.0-alpha.4
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 +202 -0
- package/README.md +14 -0
- package/dist/canonical.d.ts +20 -0
- package/dist/canonical.d.ts.map +1 -0
- package/dist/canonical.js +173 -0
- package/dist/canonical.js.map +1 -0
- package/dist/causal.d.ts +7 -0
- package/dist/causal.d.ts.map +1 -0
- package/dist/causal.js +155 -0
- package/dist/causal.js.map +1 -0
- package/dist/eligibility.d.ts +8 -0
- package/dist/eligibility.d.ts.map +1 -0
- package/dist/eligibility.js +325 -0
- package/dist/eligibility.js.map +1 -0
- package/dist/evidence.d.ts +20 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +424 -0
- package/dist/evidence.js.map +1 -0
- package/dist/fusion.d.ts +8 -0
- package/dist/fusion.d.ts.map +1 -0
- package/dist/fusion.js +1278 -0
- package/dist/fusion.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/lifecycle.d.ts +41 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +1369 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/mesh-records.d.ts +36 -0
- package/dist/mesh-records.d.ts.map +1 -0
- package/dist/mesh-records.js +133 -0
- package/dist/mesh-records.js.map +1 -0
- package/dist/policy.d.ts +9 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +598 -0
- package/dist/policy.js.map +1 -0
- package/dist/profile.d.ts +21 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +253 -0
- package/dist/profile.js.map +1 -0
- package/dist/quarantine.d.ts +53 -0
- package/dist/quarantine.d.ts.map +1 -0
- package/dist/quarantine.js +742 -0
- package/dist/quarantine.js.map +1 -0
- package/dist/sha256.d.ts +2 -0
- package/dist/sha256.d.ts.map +1 -0
- package/dist/sha256.js +66 -0
- package/dist/sha256.js.map +1 -0
- package/dist/state.d.ts +18 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +1015 -0
- package/dist/state.js.map +1 -0
- package/dist/types.d.ts +862 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +60 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +18 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +223 -0
- package/dist/validation.js.map +1 -0
- package/package.json +43 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,862 @@
|
|
|
1
|
+
export type TrustDigestDomainV1 = "scope" | "subject" | "claim" | "claim-relation" | "attestation" | "attestation-relation" | "challenge" | "challenge-relation" | "challenge-resolution" | "retraction" | "retraction-relation" | "assertion" | "root-basis" | "content-resolution" | "content-resolution-invalidation" | "policy" | "source-binding" | "fusion-input" | "fusion-decision" | "profile-key" | "profile" | "eligibility-request" | "eligibility-decision" | "quarantine-key" | "quarantine-evidence-set" | "quarantine-record" | "recovery-evidence-set" | "recovery-decision" | "mesh-subject-mapping" | "mesh-eligibility-config" | "inference-subject-mapping" | "inference-eligibility-config" | "dependency-binding" | "causal-authorization" | "origin-proof" | "state" | "snapshot" | "snapshot-integrity" | "trace" | "observation";
|
|
2
|
+
export declare const TRUST_REASON_CODES_V1: readonly ["accepted", "duplicate", "pending_target", "invalid_json", "structural_limit_exceeded", "state_capacity_exceeded", "invalid_record", "invalid_identifier", "invalid_digest", "digest_mismatch", "unsupported_schema", "scope_mismatch", "subject_mismatch", "relationship_conflict", "relationship_target_missing", "evidence_cycle", "evidence_depth_exceeded", "evidence_unavailable", "evidence_stale", "content_unavailable", "content_digest_mismatch", "content_resolution_stale", "claim_subject_authority_invalid", "challenge_authority_invalid", "challenge_basis_unavailable", "source_not_effective", "source_role_invalid", "dependency_binding_missing", "dependency_binding_invalid", "dependency_group_conflict", "dependency_group_cap_exhausted", "support_threshold_missing", "contradiction_threshold_met", "fusion_contested", "root_basis_conflict", "challenge_unresolved", "challenge_dismissed", "challenge_sustained", "challenge_contested", "policy_missing", "policy_mismatch", "policy_lineage_invalid", "profile_unavailable", "profile_stale", "eligibility_restricted", "quarantine_activated", "quarantine_review_required", "quarantine_recovery_unavailable", "quarantine_recovery_insufficient", "quarantine_recovered", "logical_time_rollback", "state_conflict", "snapshot_invalid", "snapshot_integrity_invalid", "snapshot_rollback", "origin_proof_invalid", "remote_observation_unverified"];
|
|
3
|
+
export type TrustReasonCodeV1 = (typeof TRUST_REASON_CODES_V1)[number];
|
|
4
|
+
export interface StandaloneEvidenceScopeV1 {
|
|
5
|
+
readonly schemaVersion: 1;
|
|
6
|
+
readonly kind: "standalone";
|
|
7
|
+
readonly tenantId: string;
|
|
8
|
+
readonly namespace: string;
|
|
9
|
+
readonly scopeId: string;
|
|
10
|
+
}
|
|
11
|
+
export interface MeshEvidenceScopeV1 {
|
|
12
|
+
readonly schemaVersion: 1;
|
|
13
|
+
readonly kind: "mesh";
|
|
14
|
+
readonly tenantId: string;
|
|
15
|
+
readonly meshId: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ObjectiveEvidenceScopeV1 {
|
|
18
|
+
readonly schemaVersion: 1;
|
|
19
|
+
readonly kind: "objective";
|
|
20
|
+
readonly tenantId: string;
|
|
21
|
+
readonly meshId: string;
|
|
22
|
+
readonly objectiveId: string;
|
|
23
|
+
readonly objectiveRevision: number;
|
|
24
|
+
}
|
|
25
|
+
export interface WorkEvidenceScopeV1 {
|
|
26
|
+
readonly schemaVersion: 1;
|
|
27
|
+
readonly kind: "work";
|
|
28
|
+
readonly tenantId: string;
|
|
29
|
+
readonly meshId: string;
|
|
30
|
+
readonly objectiveId: string;
|
|
31
|
+
readonly objectiveRevision: number;
|
|
32
|
+
readonly workItemId: string;
|
|
33
|
+
readonly workItemRevision: number;
|
|
34
|
+
readonly assignmentEpoch: number;
|
|
35
|
+
readonly assignmentAuthorityId: string;
|
|
36
|
+
readonly fencingToken: string;
|
|
37
|
+
}
|
|
38
|
+
export interface ControlledRunEvidenceScopeV1 {
|
|
39
|
+
readonly schemaVersion: 1;
|
|
40
|
+
readonly kind: "controlled_run";
|
|
41
|
+
readonly tenantId: string;
|
|
42
|
+
readonly runId: string;
|
|
43
|
+
readonly agentId: string;
|
|
44
|
+
readonly controlPolicyId: string;
|
|
45
|
+
readonly controlPolicyVersion: number;
|
|
46
|
+
readonly coordinatedScopeDigest: string | null;
|
|
47
|
+
}
|
|
48
|
+
export type EvidenceScopeV1 = StandaloneEvidenceScopeV1 | MeshEvidenceScopeV1 | ObjectiveEvidenceScopeV1 | WorkEvidenceScopeV1 | ControlledRunEvidenceScopeV1;
|
|
49
|
+
export interface PeerTrustSubjectV1 {
|
|
50
|
+
readonly schemaVersion: 1;
|
|
51
|
+
readonly kind: "peer";
|
|
52
|
+
readonly peerId: string;
|
|
53
|
+
}
|
|
54
|
+
export interface PeerCapabilityTrustSubjectV1 {
|
|
55
|
+
readonly schemaVersion: 1;
|
|
56
|
+
readonly kind: "peer_capability";
|
|
57
|
+
readonly peerId: string;
|
|
58
|
+
readonly capabilityKey: string;
|
|
59
|
+
readonly capabilityVersion: string;
|
|
60
|
+
readonly capabilityRevision: number;
|
|
61
|
+
}
|
|
62
|
+
export type TrustSubjectV1 = PeerTrustSubjectV1 | PeerCapabilityTrustSubjectV1;
|
|
63
|
+
export type EvidenceReferenceKindV1 = "evidence" | "mesh_record" | "control_record" | "external";
|
|
64
|
+
export interface EvidenceReferenceV1 {
|
|
65
|
+
readonly schemaVersion: 1;
|
|
66
|
+
readonly kind: EvidenceReferenceKindV1;
|
|
67
|
+
readonly referenceType: string;
|
|
68
|
+
readonly referenceId: string;
|
|
69
|
+
readonly referenceDigest: string;
|
|
70
|
+
}
|
|
71
|
+
export interface InlineSummaryEvidenceContentV1 {
|
|
72
|
+
readonly kind: "inline_summary";
|
|
73
|
+
readonly mediaType: string;
|
|
74
|
+
readonly summary: string;
|
|
75
|
+
readonly contentDigest: string;
|
|
76
|
+
readonly encodedBytes: number;
|
|
77
|
+
}
|
|
78
|
+
export interface ReferenceEvidenceContentV1 {
|
|
79
|
+
readonly kind: "reference";
|
|
80
|
+
readonly mediaType: string;
|
|
81
|
+
readonly reference: EvidenceReferenceV1;
|
|
82
|
+
readonly contentDigest: string;
|
|
83
|
+
readonly encodedBytes: number;
|
|
84
|
+
}
|
|
85
|
+
export type EvidenceContentV1 = InlineSummaryEvidenceContentV1 | ReferenceEvidenceContentV1;
|
|
86
|
+
export type EvidenceSourceKindV1 = "local" | "peer";
|
|
87
|
+
export type EvidenceOutcomeV1 = "satisfied" | "violated" | "inconclusive";
|
|
88
|
+
export interface EvidenceClaimV1 {
|
|
89
|
+
readonly schemaVersion: 1;
|
|
90
|
+
readonly claimId: string;
|
|
91
|
+
readonly claimRelationDigest: string;
|
|
92
|
+
readonly rootBasisDigest: string;
|
|
93
|
+
readonly sourceId: string;
|
|
94
|
+
readonly sourceKind: EvidenceSourceKindV1;
|
|
95
|
+
readonly causationId: string | null;
|
|
96
|
+
readonly subject: TrustSubjectV1;
|
|
97
|
+
readonly scope: EvidenceScopeV1;
|
|
98
|
+
readonly criterionId: string;
|
|
99
|
+
readonly outcome: EvidenceOutcomeV1;
|
|
100
|
+
readonly assertionDigest: string;
|
|
101
|
+
readonly content: EvidenceContentV1 | null;
|
|
102
|
+
readonly basisReferences: readonly EvidenceReferenceV1[];
|
|
103
|
+
readonly observedAt: string | null;
|
|
104
|
+
}
|
|
105
|
+
export interface EvidenceAttestationV1 {
|
|
106
|
+
readonly schemaVersion: 1;
|
|
107
|
+
readonly attestationId: string;
|
|
108
|
+
readonly attestationRelationDigest: string;
|
|
109
|
+
readonly sourceId: string;
|
|
110
|
+
readonly sourceKind: EvidenceSourceKindV1;
|
|
111
|
+
readonly causationId: string | null;
|
|
112
|
+
readonly scope: EvidenceScopeV1;
|
|
113
|
+
readonly claimId: string;
|
|
114
|
+
readonly claimDigest: string;
|
|
115
|
+
readonly disposition: "support" | "contradict" | "inconclusive";
|
|
116
|
+
readonly confidenceBasisPoints: number;
|
|
117
|
+
readonly basisReferences: readonly EvidenceReferenceV1[];
|
|
118
|
+
readonly observedAt: string | null;
|
|
119
|
+
}
|
|
120
|
+
export interface EvidenceChallengeV1 {
|
|
121
|
+
readonly schemaVersion: 1;
|
|
122
|
+
readonly challengeId: string;
|
|
123
|
+
readonly challengeRelationDigest: string;
|
|
124
|
+
readonly sourceId: string;
|
|
125
|
+
readonly sourceKind: EvidenceSourceKindV1;
|
|
126
|
+
readonly causationId: string | null;
|
|
127
|
+
readonly scope: EvidenceScopeV1;
|
|
128
|
+
readonly targetKind: "claim" | "attestation";
|
|
129
|
+
readonly targetId: string;
|
|
130
|
+
readonly targetDigest: string;
|
|
131
|
+
readonly reasonCode: TrustReasonCodeV1;
|
|
132
|
+
readonly basisReferences: readonly EvidenceReferenceV1[];
|
|
133
|
+
readonly observedAt: string | null;
|
|
134
|
+
}
|
|
135
|
+
export interface EvidenceRetractionV1 {
|
|
136
|
+
readonly schemaVersion: 1;
|
|
137
|
+
readonly retractionId: string;
|
|
138
|
+
readonly retractionRelationDigest: string;
|
|
139
|
+
readonly sourceId: string;
|
|
140
|
+
readonly sourceKind: EvidenceSourceKindV1;
|
|
141
|
+
readonly causationId: string | null;
|
|
142
|
+
readonly scope: EvidenceScopeV1;
|
|
143
|
+
readonly targetKind: "claim" | "attestation";
|
|
144
|
+
readonly targetId: string;
|
|
145
|
+
readonly targetDigest: string;
|
|
146
|
+
readonly reasonCode: TrustReasonCodeV1;
|
|
147
|
+
readonly observedAt: string | null;
|
|
148
|
+
}
|
|
149
|
+
export type EvidenceRecordV1 = EvidenceClaimV1 | EvidenceAttestationV1 | EvidenceChallengeV1 | EvidenceRetractionV1;
|
|
150
|
+
/** A redacted projection. It is deliberately not an EvidenceRecordV1 or Fusion input. */
|
|
151
|
+
export interface TrustObservationV1 {
|
|
152
|
+
readonly schemaVersion: 1;
|
|
153
|
+
readonly observationId: string;
|
|
154
|
+
readonly observerId: string;
|
|
155
|
+
readonly observerKind: EvidenceSourceKindV1;
|
|
156
|
+
readonly causationId: string | null;
|
|
157
|
+
readonly subject: TrustSubjectV1;
|
|
158
|
+
readonly scope: EvidenceScopeV1;
|
|
159
|
+
readonly policyId: string;
|
|
160
|
+
readonly policyVersion: number;
|
|
161
|
+
readonly policyDigest: string;
|
|
162
|
+
readonly profileDigest: string;
|
|
163
|
+
readonly fusionDecisionDigest: string;
|
|
164
|
+
readonly dimensionId: string;
|
|
165
|
+
readonly scoreBand: "unknown" | "low" | "medium" | "high";
|
|
166
|
+
readonly uncertaintyBand: "low" | "medium" | "high";
|
|
167
|
+
readonly disposition: "eligible" | "restricted" | "quarantined" | "unavailable";
|
|
168
|
+
readonly evidenceIds: readonly string[];
|
|
169
|
+
readonly observedAt: string;
|
|
170
|
+
readonly validUntil: string;
|
|
171
|
+
readonly reasonCodes: readonly TrustReasonCodeV1[];
|
|
172
|
+
}
|
|
173
|
+
export interface EvidenceTrustLimitsV1 {
|
|
174
|
+
readonly maximumPolicies: number;
|
|
175
|
+
readonly maximumDimensionsPerPolicy: number;
|
|
176
|
+
readonly maximumCriteriaPerPolicy: number;
|
|
177
|
+
readonly maximumSourceBindingsPerPolicy: number;
|
|
178
|
+
readonly maximumDependencyGroupsPerPolicy: number;
|
|
179
|
+
readonly maximumClaims: number;
|
|
180
|
+
readonly maximumAttestations: number;
|
|
181
|
+
readonly maximumChallenges: number;
|
|
182
|
+
readonly maximumChallengesPerSourceScope: number;
|
|
183
|
+
readonly maximumPendingChallengesPerSourceScope: number;
|
|
184
|
+
readonly maximumRetractions: number;
|
|
185
|
+
readonly maximumContentResolutions: number;
|
|
186
|
+
readonly maximumContentInvalidations: number;
|
|
187
|
+
readonly maximumCausalAuthorizations: number;
|
|
188
|
+
readonly maximumDependencyBindingVersions: number;
|
|
189
|
+
readonly maximumPendingRecords: number;
|
|
190
|
+
readonly maximumPendingAgeMs: number;
|
|
191
|
+
readonly maximumBasisReferencesPerRecord: number;
|
|
192
|
+
readonly maximumRelationshipDepth: number;
|
|
193
|
+
readonly maximumConsideredRecordsPerFusion: number;
|
|
194
|
+
readonly maximumRetainedFusionDecisions: number;
|
|
195
|
+
readonly maximumProfileHeads: number;
|
|
196
|
+
readonly maximumProfileRevisionsPerHead: number;
|
|
197
|
+
readonly maximumQuarantineHeads: number;
|
|
198
|
+
readonly maximumQuarantineRevisionsPerHead: number;
|
|
199
|
+
readonly maximumRecoveryDecisions: number;
|
|
200
|
+
readonly maximumDiagnostics: number;
|
|
201
|
+
readonly maximumRecordCanonicalBytes: number;
|
|
202
|
+
readonly maximumContentReferenceBytes: number;
|
|
203
|
+
readonly maximumInlineSummaryBytes: number;
|
|
204
|
+
readonly maximumStateCanonicalBytes: number;
|
|
205
|
+
readonly maximumEvidenceAgeMs: number;
|
|
206
|
+
readonly maximumReviewIntervalMs: number;
|
|
207
|
+
}
|
|
208
|
+
export type EvidenceSourceRoleV1 = "claim" | "attest" | "challenge" | "observe";
|
|
209
|
+
export type ClaimSourceRelationV1 = "subject_self" | "work_assignee" | "work_owner" | "objective_observer" | "recovery_witness" | "local_system";
|
|
210
|
+
export type ChallengeSourceRelationV1 = ClaimSourceRelationV1 | "target_author";
|
|
211
|
+
export interface EvidenceBasisRuleV1 {
|
|
212
|
+
readonly kind: EvidenceReferenceKindV1;
|
|
213
|
+
readonly referenceType: string;
|
|
214
|
+
readonly minimumCount: number;
|
|
215
|
+
readonly maximumCount: number;
|
|
216
|
+
}
|
|
217
|
+
export interface ClaimAuthorityRuleV1 {
|
|
218
|
+
readonly allowedSourceRelations: readonly ClaimSourceRelationV1[];
|
|
219
|
+
readonly allowedBasisReferences: readonly EvidenceBasisRuleV1[];
|
|
220
|
+
}
|
|
221
|
+
export interface ChallengeAuthorityRuleV1 {
|
|
222
|
+
readonly allowedSourceRelations: readonly ChallengeSourceRelationV1[];
|
|
223
|
+
readonly allowedBasisReferences: readonly EvidenceBasisRuleV1[];
|
|
224
|
+
readonly requireResolvedBasis: true;
|
|
225
|
+
}
|
|
226
|
+
export interface ChallengeResolutionPolicyV1 {
|
|
227
|
+
readonly minimumCorroboratingGroups: number;
|
|
228
|
+
readonly minimumCorroboratingWeightBasisPoints: number;
|
|
229
|
+
readonly minimumOpposingGroups: number;
|
|
230
|
+
readonly minimumOpposingWeightBasisPoints: number;
|
|
231
|
+
}
|
|
232
|
+
export interface TrustDimensionPolicyV1 {
|
|
233
|
+
readonly dimensionId: string;
|
|
234
|
+
readonly priorScoreBasisPoints: number;
|
|
235
|
+
readonly priorWeightBasisPoints: number;
|
|
236
|
+
readonly minimumUncertaintyBasisPoints: number;
|
|
237
|
+
readonly coverageTargetBasisPoints: number;
|
|
238
|
+
readonly decayIntervalMs: number;
|
|
239
|
+
readonly decayBasisPointsPerInterval: number;
|
|
240
|
+
readonly uncertaintyGrowthBasisPointsPerInterval: number;
|
|
241
|
+
readonly minimumRetainedWeightBasisPoints: number;
|
|
242
|
+
readonly contradictionUncertaintyBasisPointsPerClaim: number;
|
|
243
|
+
readonly maximumContradictionUncertaintyBasisPoints: number;
|
|
244
|
+
readonly degradedScoreAtOrBelowBasisPoints: number;
|
|
245
|
+
readonly degradedUncertaintyAtOrAboveBasisPoints: number;
|
|
246
|
+
}
|
|
247
|
+
export interface EvidenceCriterionPolicyV1 {
|
|
248
|
+
readonly criterionId: string;
|
|
249
|
+
readonly dimensionId: string;
|
|
250
|
+
readonly satisfiedValueBasisPoints: number;
|
|
251
|
+
readonly violatedValueBasisPoints: number;
|
|
252
|
+
readonly inconclusiveValueBasisPoints: number | null;
|
|
253
|
+
readonly baseWeightBasisPoints: number;
|
|
254
|
+
readonly maximumClaimWeightBasisPoints: number;
|
|
255
|
+
readonly maximumSourceGroupContributionWeightBasisPoints: number;
|
|
256
|
+
readonly minimumSupportGroups: number;
|
|
257
|
+
readonly minimumSupportWeightBasisPoints: number;
|
|
258
|
+
readonly minimumContradictionGroups: number;
|
|
259
|
+
readonly minimumContradictionWeightBasisPoints: number;
|
|
260
|
+
readonly allowClaimSourceAttestation: boolean;
|
|
261
|
+
readonly contentRequired: boolean;
|
|
262
|
+
readonly quarantineEligible: boolean;
|
|
263
|
+
readonly recoveryEligible: boolean;
|
|
264
|
+
readonly maximumAgeMs: number;
|
|
265
|
+
readonly claimAuthority: ClaimAuthorityRuleV1;
|
|
266
|
+
readonly challengeAuthority: ChallengeAuthorityRuleV1;
|
|
267
|
+
readonly challengeResolution: ChallengeResolutionPolicyV1;
|
|
268
|
+
}
|
|
269
|
+
export interface EvidenceSourceBindingV1 {
|
|
270
|
+
readonly sourceId: string;
|
|
271
|
+
readonly sourceKind: EvidenceSourceKindV1;
|
|
272
|
+
readonly dependencyGroupId: string;
|
|
273
|
+
readonly roles: readonly EvidenceSourceRoleV1[];
|
|
274
|
+
readonly maximumWeightBasisPoints: number;
|
|
275
|
+
readonly validFromLogicalMs: number;
|
|
276
|
+
readonly validUntilLogicalMs: number;
|
|
277
|
+
}
|
|
278
|
+
export interface DependencyGroupPolicyV1 {
|
|
279
|
+
readonly dependencyGroupId: string;
|
|
280
|
+
readonly maximumAttestationWeightPerClaimBasisPoints: number;
|
|
281
|
+
readonly maximumProfileWeightPerDimensionCriterionBasisPoints: number;
|
|
282
|
+
}
|
|
283
|
+
export interface TrustEligibilityRequirementV1 {
|
|
284
|
+
readonly dimensionId: string;
|
|
285
|
+
readonly minimumScoreBasisPoints: number;
|
|
286
|
+
readonly maximumUncertaintyBasisPoints: number;
|
|
287
|
+
}
|
|
288
|
+
export interface TrustEligibilityRuleV1 {
|
|
289
|
+
readonly ruleId: string;
|
|
290
|
+
readonly maximumProfileAgeMs: number;
|
|
291
|
+
readonly requirements: readonly TrustEligibilityRequirementV1[];
|
|
292
|
+
}
|
|
293
|
+
export interface QuarantinePolicyRuleV1 {
|
|
294
|
+
readonly dimensionId: string;
|
|
295
|
+
readonly activationScoreAtOrBelowBasisPoints: number;
|
|
296
|
+
readonly minimumNegativeClaimSourceGroups: number;
|
|
297
|
+
readonly minimumNegativeWeightBasisPoints: number;
|
|
298
|
+
readonly reviewIntervalMs: number;
|
|
299
|
+
}
|
|
300
|
+
export interface QuarantinePolicyV1 {
|
|
301
|
+
readonly enabled: boolean;
|
|
302
|
+
readonly rules: readonly QuarantinePolicyRuleV1[];
|
|
303
|
+
readonly maximumActiveRecords: number;
|
|
304
|
+
}
|
|
305
|
+
export interface RecoveryPolicyRuleV1 {
|
|
306
|
+
readonly dimensionId: string;
|
|
307
|
+
readonly recoveryScoreAtOrAboveBasisPoints: number;
|
|
308
|
+
readonly maximumRecoveryUncertaintyBasisPoints: number;
|
|
309
|
+
readonly minimumRecoveryClaimSourceGroups: number;
|
|
310
|
+
readonly minimumRecoveryWeightBasisPoints: number;
|
|
311
|
+
readonly maximumRecoveryEvidenceAgeMs: number;
|
|
312
|
+
}
|
|
313
|
+
export interface RecoveryPolicyV1 {
|
|
314
|
+
readonly rules: readonly RecoveryPolicyRuleV1[];
|
|
315
|
+
}
|
|
316
|
+
/** The digest is derived from this closed structure; it is deliberately not a field. */
|
|
317
|
+
export interface EvidenceFusionPolicyV1 {
|
|
318
|
+
readonly schemaVersion: 1;
|
|
319
|
+
readonly policyId: string;
|
|
320
|
+
readonly policyVersion: number;
|
|
321
|
+
readonly parentPolicyDigest: string | null;
|
|
322
|
+
readonly mode: "observe" | "restrict";
|
|
323
|
+
readonly dimensions: readonly TrustDimensionPolicyV1[];
|
|
324
|
+
readonly criteria: readonly EvidenceCriterionPolicyV1[];
|
|
325
|
+
readonly sourceBindings: readonly EvidenceSourceBindingV1[];
|
|
326
|
+
readonly dependencyGroups: readonly DependencyGroupPolicyV1[];
|
|
327
|
+
readonly eligibilityRules: readonly TrustEligibilityRuleV1[];
|
|
328
|
+
readonly quarantinePolicy: QuarantinePolicyV1;
|
|
329
|
+
readonly recoveryPolicy: RecoveryPolicyV1;
|
|
330
|
+
readonly limits: EvidenceTrustLimitsV1;
|
|
331
|
+
readonly diagnosticsPolicyId: string;
|
|
332
|
+
readonly redactionPolicyId: string;
|
|
333
|
+
}
|
|
334
|
+
export interface EvidenceTrustPolicyHeadV1 {
|
|
335
|
+
readonly policyId: string;
|
|
336
|
+
readonly policyVersion: number;
|
|
337
|
+
readonly policyDigest: string;
|
|
338
|
+
}
|
|
339
|
+
export type EvidenceTrustDependencyBindingKindV1 = "content_resolver" | "causal_authority" | "mesh_ingress" | "mesh_eligibility" | "profile_resolver" | "snapshot_protector" | "verified_mesh_origin_verifier" | "model_boundary" | "action_dispatcher" | "message_dispatcher";
|
|
340
|
+
export interface EvidenceTrustDependencyBindingV1 {
|
|
341
|
+
readonly schemaVersion: 1;
|
|
342
|
+
readonly bindingName: string;
|
|
343
|
+
readonly bindingVersion: number;
|
|
344
|
+
readonly parentBindingDigest: string | null;
|
|
345
|
+
readonly bindingKind: EvidenceTrustDependencyBindingKindV1;
|
|
346
|
+
readonly implementationId: string;
|
|
347
|
+
readonly implementationDigest: string;
|
|
348
|
+
readonly configurationDigest: string;
|
|
349
|
+
readonly policyDigest: string | null;
|
|
350
|
+
readonly subjectMappingDigest: string | null;
|
|
351
|
+
readonly upstreamBindingDigest: string | null;
|
|
352
|
+
/** Trusted local registration time; prevents retroactive lineage rebinding. */
|
|
353
|
+
readonly registeredAtLogicalMs: number;
|
|
354
|
+
readonly validFromLogicalMs: number;
|
|
355
|
+
readonly validUntilLogicalMs: number | null;
|
|
356
|
+
readonly bindingDigest: string;
|
|
357
|
+
}
|
|
358
|
+
export interface EvidenceTrustDependencyBindingHeadV1 {
|
|
359
|
+
readonly bindingKind: EvidenceTrustDependencyBindingKindV1;
|
|
360
|
+
readonly bindingName: string;
|
|
361
|
+
readonly bindingVersion: number;
|
|
362
|
+
readonly bindingDigest: string;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* A retained, construction-verified authorization for an authority relation
|
|
366
|
+
* that cannot be derived from the immutable Evidence record alone. Its
|
|
367
|
+
* verifier is intentionally not serialized: only this closed proof envelope
|
|
368
|
+
* is retained in state.
|
|
369
|
+
*/
|
|
370
|
+
export interface EvidenceCausalAuthorizationBasisV1 {
|
|
371
|
+
readonly schemaVersion: 1;
|
|
372
|
+
readonly kind: EvidenceReferenceKindV1;
|
|
373
|
+
readonly referenceType: string;
|
|
374
|
+
readonly referenceId: string;
|
|
375
|
+
readonly referenceDigest: string;
|
|
376
|
+
readonly resolvedDigest: string;
|
|
377
|
+
readonly trustedEffectiveAtLogicalMs: number;
|
|
378
|
+
/** Evidence references are resolved by retained Trust state and carry nulls. */
|
|
379
|
+
readonly resolverBindingDigest: string | null;
|
|
380
|
+
/** Terminal Mesh, Control and external roots require this construction proof. */
|
|
381
|
+
readonly resolutionProofDigest: string | null;
|
|
382
|
+
}
|
|
383
|
+
export interface EvidenceCausalAuthorizationV1 {
|
|
384
|
+
readonly schemaVersion: 1;
|
|
385
|
+
readonly authorizationId: string;
|
|
386
|
+
readonly authorizationDigest: string;
|
|
387
|
+
readonly recordId: string;
|
|
388
|
+
readonly recordDigest: string;
|
|
389
|
+
readonly recordKind: "claim" | "challenge";
|
|
390
|
+
readonly policyDigest: string;
|
|
391
|
+
readonly criterionId: string;
|
|
392
|
+
readonly subjectDigest: string;
|
|
393
|
+
readonly scopeDigest: string;
|
|
394
|
+
readonly targetRecordId: string | null;
|
|
395
|
+
readonly targetRecordDigest: string | null;
|
|
396
|
+
readonly sourceRelation: ChallengeSourceRelationV1;
|
|
397
|
+
readonly authorityBindingDigest: string;
|
|
398
|
+
readonly authorityProofDigest: string;
|
|
399
|
+
readonly bases: readonly EvidenceCausalAuthorizationBasisV1[];
|
|
400
|
+
readonly authorizedAtLogicalMs: number;
|
|
401
|
+
}
|
|
402
|
+
/** Runtime capability owned by the integration that resolves historic Mesh or control authority. */
|
|
403
|
+
export interface EvidenceTrustCausalAuthorityVerifierV1 {
|
|
404
|
+
readonly authorityBindingDigest: string;
|
|
405
|
+
readonly policyDigest: string;
|
|
406
|
+
readonly upstreamBindingDigest: string;
|
|
407
|
+
verify(authorization: EvidenceCausalAuthorizationV1): boolean;
|
|
408
|
+
}
|
|
409
|
+
export interface EvidenceTrustCausalAuthorityVerifierRegistryV1 {
|
|
410
|
+
resolve(authorityBindingDigest: string): EvidenceTrustCausalAuthorityVerifierV1 | null;
|
|
411
|
+
}
|
|
412
|
+
export type ChallengeResolutionResultV1 = "unresolved" | "dismissed" | "sustained" | "contested";
|
|
413
|
+
export interface ChallengeResolutionV1 {
|
|
414
|
+
readonly schemaVersion: 1;
|
|
415
|
+
readonly challengeResolutionId: string;
|
|
416
|
+
readonly challenges: readonly {
|
|
417
|
+
readonly challengeId: string;
|
|
418
|
+
readonly challengeDigest: string;
|
|
419
|
+
readonly basisCutoffLogicalMs: number;
|
|
420
|
+
}[];
|
|
421
|
+
readonly targetId: string;
|
|
422
|
+
readonly targetDigest: string;
|
|
423
|
+
readonly challengerDependencyGroupId: string;
|
|
424
|
+
readonly basisCutoffLogicalMs: number;
|
|
425
|
+
readonly policyDigest: string;
|
|
426
|
+
readonly evaluatedAtLogicalMs: number;
|
|
427
|
+
readonly result: ChallengeResolutionResultV1;
|
|
428
|
+
readonly corroboratingGroupIds: readonly string[];
|
|
429
|
+
readonly corroboratingWeightBasisPoints: number;
|
|
430
|
+
readonly opposingGroupIds: readonly string[];
|
|
431
|
+
readonly opposingWeightBasisPoints: number;
|
|
432
|
+
readonly consideredAttestationIds: readonly string[];
|
|
433
|
+
readonly reasonCodes: readonly TrustReasonCodeV1[];
|
|
434
|
+
}
|
|
435
|
+
export interface EvidenceRecordExclusionV1 {
|
|
436
|
+
readonly recordKind: EvidenceRecordKindV1;
|
|
437
|
+
readonly recordId: string;
|
|
438
|
+
readonly recordDigest: string;
|
|
439
|
+
readonly reasonCodes: readonly TrustReasonCodeV1[];
|
|
440
|
+
}
|
|
441
|
+
export type EvidenceClaimClassificationKindV1 = "supported" | "contradicted" | "contested" | "inconclusive" | "unavailable";
|
|
442
|
+
export interface EvidenceClaimClassificationV1 {
|
|
443
|
+
readonly claimId: string;
|
|
444
|
+
readonly claimDigest: string;
|
|
445
|
+
readonly criterionId: string;
|
|
446
|
+
readonly dimensionId: string;
|
|
447
|
+
readonly classification: EvidenceClaimClassificationKindV1;
|
|
448
|
+
readonly mappedValueBasisPoints: number | null;
|
|
449
|
+
readonly supportGroupIds: readonly string[];
|
|
450
|
+
readonly supportWeightBasisPoints: number;
|
|
451
|
+
readonly contradictionGroupIds: readonly string[];
|
|
452
|
+
readonly contradictionWeightBasisPoints: number;
|
|
453
|
+
readonly rawWeightBasisPoints: number;
|
|
454
|
+
readonly retainedWeightBasisPoints: number;
|
|
455
|
+
readonly effectiveWeightBasisPoints: number;
|
|
456
|
+
readonly claimSourceDependencyGroupId: string | null;
|
|
457
|
+
readonly effectiveSupportingAttestationIds: readonly string[];
|
|
458
|
+
readonly effectiveContentResolutionIds: readonly string[];
|
|
459
|
+
readonly reasonCodes: readonly TrustReasonCodeV1[];
|
|
460
|
+
}
|
|
461
|
+
export interface EvidenceGroupAllocationV1 {
|
|
462
|
+
readonly stage: "attestation" | "challenge_resolution" | "profile";
|
|
463
|
+
readonly dimensionId: string | null;
|
|
464
|
+
readonly criterionId: string | null;
|
|
465
|
+
readonly claimId: string | null;
|
|
466
|
+
readonly dependencyGroupId: string;
|
|
467
|
+
readonly candidateRecordIds: readonly string[];
|
|
468
|
+
readonly capBasisPoints: number;
|
|
469
|
+
readonly allocatedWeightBasisPoints: number;
|
|
470
|
+
}
|
|
471
|
+
export interface TrustDimensionStateV1 {
|
|
472
|
+
readonly dimensionId: string;
|
|
473
|
+
readonly scoreBasisPoints: number;
|
|
474
|
+
readonly uncertaintyBasisPoints: number;
|
|
475
|
+
readonly effectiveWeightBasisPoints: number;
|
|
476
|
+
readonly coverageBasisPoints: number;
|
|
477
|
+
readonly ageUncertaintyBasisPoints: number;
|
|
478
|
+
readonly contradictionPressureBasisPoints: number;
|
|
479
|
+
readonly includedClaimIds: readonly string[];
|
|
480
|
+
readonly excludedClaimIds: readonly string[];
|
|
481
|
+
readonly claimSourceDependencyGroupIds: readonly string[];
|
|
482
|
+
readonly latestQualifyingEffectiveAtLogicalMs: number | null;
|
|
483
|
+
}
|
|
484
|
+
export interface EvidenceFusionDecisionV1 {
|
|
485
|
+
readonly schemaVersion: 1;
|
|
486
|
+
readonly fusionDecisionId: string;
|
|
487
|
+
readonly fusionDecisionDigest: string;
|
|
488
|
+
readonly tenantId: string;
|
|
489
|
+
readonly subject: TrustSubjectV1;
|
|
490
|
+
readonly subjectDigest: string;
|
|
491
|
+
readonly scope: EvidenceScopeV1;
|
|
492
|
+
readonly scopeDigest: string;
|
|
493
|
+
readonly policyId: string;
|
|
494
|
+
readonly policyVersion: number;
|
|
495
|
+
readonly policyDigest: string;
|
|
496
|
+
readonly evaluatedAtLogicalMs: number;
|
|
497
|
+
readonly inputSetDigest: string;
|
|
498
|
+
readonly consideredRecordIds: readonly string[];
|
|
499
|
+
readonly includedRecordIds: readonly string[];
|
|
500
|
+
readonly recordExclusions: readonly EvidenceRecordExclusionV1[];
|
|
501
|
+
readonly claimClassifications: readonly EvidenceClaimClassificationV1[];
|
|
502
|
+
readonly challengeResolutions: readonly ChallengeResolutionV1[];
|
|
503
|
+
readonly groupAllocations: readonly EvidenceGroupAllocationV1[];
|
|
504
|
+
readonly dimensions: readonly TrustDimensionStateV1[];
|
|
505
|
+
readonly previousProfileDigest: string | null;
|
|
506
|
+
readonly reasonCodes: readonly TrustReasonCodeV1[];
|
|
507
|
+
}
|
|
508
|
+
export interface EvidenceFusionEvaluationRequestV1 {
|
|
509
|
+
readonly tenantId: string;
|
|
510
|
+
readonly subject: TrustSubjectV1;
|
|
511
|
+
readonly scope: EvidenceScopeV1;
|
|
512
|
+
readonly policyId: string;
|
|
513
|
+
readonly policyVersion: number;
|
|
514
|
+
readonly policyDigest: string;
|
|
515
|
+
readonly dependencyBindingDigests: readonly string[];
|
|
516
|
+
}
|
|
517
|
+
export type TrustProfileStatusV1 = "unknown" | "supported" | "contested" | "degraded";
|
|
518
|
+
export interface TrustProfileV1 {
|
|
519
|
+
readonly schemaVersion: 1;
|
|
520
|
+
readonly profileId: string;
|
|
521
|
+
readonly profileDigest: string;
|
|
522
|
+
readonly revision: number;
|
|
523
|
+
readonly previousProfileId: string | null;
|
|
524
|
+
readonly previousProfileDigest: string | null;
|
|
525
|
+
readonly tenantId: string;
|
|
526
|
+
readonly subject: TrustSubjectV1;
|
|
527
|
+
readonly subjectDigest: string;
|
|
528
|
+
readonly scope: EvidenceScopeV1;
|
|
529
|
+
readonly scopeDigest: string;
|
|
530
|
+
readonly policyId: string;
|
|
531
|
+
readonly policyVersion: number;
|
|
532
|
+
readonly policyDigest: string;
|
|
533
|
+
readonly dimensions: readonly TrustDimensionStateV1[];
|
|
534
|
+
readonly fusionDecisionId: string;
|
|
535
|
+
readonly fusionDecisionDigest: string;
|
|
536
|
+
readonly inputSetDigest: string;
|
|
537
|
+
readonly updatedAtLogicalMs: number;
|
|
538
|
+
readonly status: TrustProfileStatusV1;
|
|
539
|
+
}
|
|
540
|
+
export interface TrustProfileHeadV1 {
|
|
541
|
+
readonly profileKey: string;
|
|
542
|
+
readonly profileId: string;
|
|
543
|
+
readonly profileDigest: string;
|
|
544
|
+
readonly revision: number;
|
|
545
|
+
}
|
|
546
|
+
export interface TrustEligibilityRequestV1 {
|
|
547
|
+
readonly schemaVersion: 1;
|
|
548
|
+
readonly tenantId: string;
|
|
549
|
+
readonly subject: TrustSubjectV1;
|
|
550
|
+
readonly subjectDigest: string;
|
|
551
|
+
readonly scope: EvidenceScopeV1;
|
|
552
|
+
readonly scopeDigest: string;
|
|
553
|
+
readonly policyId: string;
|
|
554
|
+
readonly policyVersion: number;
|
|
555
|
+
readonly policyDigest: string;
|
|
556
|
+
readonly profileId: string;
|
|
557
|
+
readonly profileDigest: string;
|
|
558
|
+
readonly maximumProfileAgeMs: number;
|
|
559
|
+
readonly requirements: readonly TrustEligibilityRequirementV1[];
|
|
560
|
+
}
|
|
561
|
+
export interface TrustEligibilityRequirementResultV1 {
|
|
562
|
+
readonly dimensionId: string;
|
|
563
|
+
readonly observedScoreBasisPoints: number | null;
|
|
564
|
+
readonly observedUncertaintyBasisPoints: number | null;
|
|
565
|
+
readonly met: boolean;
|
|
566
|
+
}
|
|
567
|
+
export interface TrustEligibilityDecisionV1 {
|
|
568
|
+
readonly schemaVersion: 1;
|
|
569
|
+
readonly eligibilityDecisionId: string;
|
|
570
|
+
readonly requestDigest: string;
|
|
571
|
+
readonly subjectDigest: string;
|
|
572
|
+
readonly scopeDigest: string;
|
|
573
|
+
readonly policyDigest: string;
|
|
574
|
+
readonly profileId: string;
|
|
575
|
+
readonly profileDigest: string;
|
|
576
|
+
readonly quarantineRecordIds: readonly string[];
|
|
577
|
+
readonly evaluatedAtLogicalMs: number;
|
|
578
|
+
readonly disposition: "eligible" | "restricted" | "quarantined" | "unavailable";
|
|
579
|
+
readonly requirementResults: readonly TrustEligibilityRequirementResultV1[];
|
|
580
|
+
readonly reasonCodes: readonly TrustReasonCodeV1[];
|
|
581
|
+
}
|
|
582
|
+
export type QuarantineStatusV1 = "active" | "review_required" | "recovered";
|
|
583
|
+
export interface QuarantineRecordV1 {
|
|
584
|
+
readonly schemaVersion: 1;
|
|
585
|
+
readonly quarantineId: string;
|
|
586
|
+
readonly quarantineKey: string;
|
|
587
|
+
readonly revision: number;
|
|
588
|
+
readonly previousRecordId: string | null;
|
|
589
|
+
readonly tenantId: string;
|
|
590
|
+
readonly subjectDigest: string;
|
|
591
|
+
readonly scopeDigest: string;
|
|
592
|
+
readonly dimensionId: string;
|
|
593
|
+
readonly policyDigest: string;
|
|
594
|
+
readonly fusionDecisionId: string;
|
|
595
|
+
readonly activationEvidenceIds: readonly string[];
|
|
596
|
+
readonly activationEvidenceSetDigest: string;
|
|
597
|
+
readonly activationDependencyGroupIds: readonly string[];
|
|
598
|
+
readonly reasonCodes: readonly TrustReasonCodeV1[];
|
|
599
|
+
readonly activatedAtLogicalMs: number;
|
|
600
|
+
readonly reviewAfterLogicalMs: number;
|
|
601
|
+
readonly status: QuarantineStatusV1;
|
|
602
|
+
readonly recoveredAtLogicalMs: number | null;
|
|
603
|
+
readonly recoveryDecisionId: string | null;
|
|
604
|
+
}
|
|
605
|
+
export interface QuarantineHeadV1 {
|
|
606
|
+
readonly quarantineKey: string;
|
|
607
|
+
readonly quarantineId: string;
|
|
608
|
+
readonly revision: number;
|
|
609
|
+
readonly status: QuarantineStatusV1;
|
|
610
|
+
}
|
|
611
|
+
export interface QuarantineRecoveryDecisionV1 {
|
|
612
|
+
readonly schemaVersion: 1;
|
|
613
|
+
readonly recoveryDecisionId: string;
|
|
614
|
+
readonly recoveryDecisionDigest: string;
|
|
615
|
+
readonly quarantineId: string;
|
|
616
|
+
readonly quarantineKey: string;
|
|
617
|
+
readonly policyDigest: string;
|
|
618
|
+
readonly fusionDecisionId: string;
|
|
619
|
+
readonly evaluatedAtLogicalMs: number;
|
|
620
|
+
readonly recoveryEvidenceIds: readonly string[];
|
|
621
|
+
readonly recoveryEvidenceSetDigest: string;
|
|
622
|
+
readonly recoveryClaimSourceDependencyGroupIds: readonly string[];
|
|
623
|
+
readonly effectiveRecoveryWeightBasisPoints: number;
|
|
624
|
+
readonly scoreBasisPoints: number;
|
|
625
|
+
readonly uncertaintyBasisPoints: number;
|
|
626
|
+
readonly disposition: "unavailable" | "insufficient" | "recovered";
|
|
627
|
+
readonly reasonCodes: readonly TrustReasonCodeV1[];
|
|
628
|
+
}
|
|
629
|
+
export type EvidenceRecordKindV1 = "claim" | "attestation" | "challenge" | "retraction";
|
|
630
|
+
export type EvidenceRecordStatusV1 = "active" | "pending" | "retracted" | "challenged" | "conflicted" | "unavailable";
|
|
631
|
+
export type EvidenceRecordOriginV1 = "local" | "verified_mesh";
|
|
632
|
+
/** The accepted, content-bound form of an evidence record. */
|
|
633
|
+
export interface EvidenceRecordStateV1 {
|
|
634
|
+
readonly schemaVersion: 1;
|
|
635
|
+
readonly recordKind: EvidenceRecordKindV1;
|
|
636
|
+
readonly recordId: string;
|
|
637
|
+
readonly recordDigest: string;
|
|
638
|
+
readonly record: EvidenceRecordV1;
|
|
639
|
+
readonly origin: EvidenceRecordOriginV1;
|
|
640
|
+
readonly originBindingDigest: string;
|
|
641
|
+
readonly originVerifierBindingDigest: string | null;
|
|
642
|
+
readonly originProofDigest: string | null;
|
|
643
|
+
readonly acceptedAtLogicalMs: number;
|
|
644
|
+
readonly effectiveAtLogicalMs: number;
|
|
645
|
+
readonly status: EvidenceRecordStatusV1;
|
|
646
|
+
}
|
|
647
|
+
export interface EvidenceContentResolutionV1 {
|
|
648
|
+
readonly schemaVersion: 1;
|
|
649
|
+
readonly resolutionId: string;
|
|
650
|
+
readonly resolutionDigest: string;
|
|
651
|
+
readonly claimId: string;
|
|
652
|
+
readonly claimDigest: string;
|
|
653
|
+
readonly scopeDigest: string;
|
|
654
|
+
readonly referenceId: string;
|
|
655
|
+
readonly referenceDigest: string;
|
|
656
|
+
readonly contentDigest: string;
|
|
657
|
+
readonly mediaType: string;
|
|
658
|
+
readonly encodedBytes: number;
|
|
659
|
+
readonly result: "verified" | "unavailable" | "mismatched";
|
|
660
|
+
readonly resolverBindingDigest: string;
|
|
661
|
+
readonly resolvedAtLogicalMs: number;
|
|
662
|
+
}
|
|
663
|
+
export type EvidenceContentProjectionStatusV1 = "verified" | "unavailable" | "mismatched" | "stale" | "not_required";
|
|
664
|
+
export interface EvidenceContentResolutionInvalidationV1 {
|
|
665
|
+
readonly schemaVersion: 1;
|
|
666
|
+
readonly invalidationId: string;
|
|
667
|
+
readonly resolutionId: string;
|
|
668
|
+
readonly resolutionDigest: string;
|
|
669
|
+
readonly resolverBindingDigest: string;
|
|
670
|
+
readonly invalidatedAtLogicalMs: number;
|
|
671
|
+
readonly reasonCode: TrustReasonCodeV1;
|
|
672
|
+
}
|
|
673
|
+
export interface EvidenceTrustDiagnosticV1 {
|
|
674
|
+
readonly schemaVersion: 1;
|
|
675
|
+
readonly recordId: string;
|
|
676
|
+
readonly recordDigest: string;
|
|
677
|
+
readonly reasonCode: TrustReasonCodeV1;
|
|
678
|
+
}
|
|
679
|
+
/** Runtime capability owned by the authenticated Mesh ingress adapter, never wire data. */
|
|
680
|
+
export interface EvidenceTrustVerifiedMeshAdmissionVerifierV1 {
|
|
681
|
+
readonly verifierBindingDigest: string;
|
|
682
|
+
readonly upstreamBindingDigest: string;
|
|
683
|
+
verify(input: {
|
|
684
|
+
readonly recordId: string;
|
|
685
|
+
readonly recordDigest: string;
|
|
686
|
+
readonly originBindingDigest: string;
|
|
687
|
+
readonly originVerifierBindingDigest: string;
|
|
688
|
+
readonly originProofDigest: string;
|
|
689
|
+
readonly effectiveAtLogicalMs: number;
|
|
690
|
+
}): boolean;
|
|
691
|
+
}
|
|
692
|
+
/** Construction-bound historical registry; Mesh owns its retention and lookup. */
|
|
693
|
+
export interface EvidenceTrustVerifiedMeshAdmissionVerifierRegistryV1 {
|
|
694
|
+
resolve(verifierBindingDigest: string): EvidenceTrustVerifiedMeshAdmissionVerifierV1 | null;
|
|
695
|
+
}
|
|
696
|
+
export interface EvidenceTrustReducerOptionsV1 {
|
|
697
|
+
/** Construction-bound synchronous capability supplied only by Mesh ingress. */
|
|
698
|
+
readonly verifiedMeshAdmissionVerifierRegistry?: EvidenceTrustVerifiedMeshAdmissionVerifierRegistryV1;
|
|
699
|
+
/** The active resolver binding required for positive content resolutions. */
|
|
700
|
+
readonly currentContentResolverBindingDigest?: string | null;
|
|
701
|
+
/** Construction-bound verifier for retained causal-authority certificates. */
|
|
702
|
+
readonly causalAuthorityVerifierRegistry?: EvidenceTrustCausalAuthorityVerifierRegistryV1;
|
|
703
|
+
}
|
|
704
|
+
export interface EvidenceTrustRestoreOptionsV1 {
|
|
705
|
+
readonly verifiedMeshAdmissionVerifierRegistry?: EvidenceTrustVerifiedMeshAdmissionVerifierRegistryV1;
|
|
706
|
+
readonly currentContentResolverBindingDigest?: string | null;
|
|
707
|
+
readonly causalAuthorityVerifierRegistry?: EvidenceTrustCausalAuthorityVerifierRegistryV1;
|
|
708
|
+
}
|
|
709
|
+
export type EvidenceTrustInputV1 = {
|
|
710
|
+
readonly schemaVersion: 1;
|
|
711
|
+
readonly kind: "policy_registered";
|
|
712
|
+
readonly policy: EvidenceFusionPolicyV1;
|
|
713
|
+
readonly logicalTimeMs: number;
|
|
714
|
+
} | {
|
|
715
|
+
readonly schemaVersion: 1;
|
|
716
|
+
readonly kind: "dependency_binding_registered";
|
|
717
|
+
readonly binding: EvidenceTrustDependencyBindingV1;
|
|
718
|
+
readonly logicalTimeMs: number;
|
|
719
|
+
} | {
|
|
720
|
+
readonly schemaVersion: 1;
|
|
721
|
+
readonly kind: "causal_authorization_recorded";
|
|
722
|
+
readonly authorization: Omit<EvidenceCausalAuthorizationV1, "authorizationId" | "authorizationDigest" | "authorizedAtLogicalMs">;
|
|
723
|
+
readonly logicalTimeMs: number;
|
|
724
|
+
} | {
|
|
725
|
+
readonly schemaVersion: 1;
|
|
726
|
+
readonly kind: "fusion_evaluated";
|
|
727
|
+
readonly request: EvidenceFusionEvaluationRequestV1;
|
|
728
|
+
readonly logicalTimeMs: number;
|
|
729
|
+
} | {
|
|
730
|
+
readonly schemaVersion: 1;
|
|
731
|
+
readonly kind: "profile_evaluated";
|
|
732
|
+
readonly fusionDecisionId: string;
|
|
733
|
+
readonly fusionDecisionDigest: string;
|
|
734
|
+
readonly logicalTimeMs: number;
|
|
735
|
+
} | {
|
|
736
|
+
readonly schemaVersion: 1;
|
|
737
|
+
readonly kind: "quarantine_reviewed";
|
|
738
|
+
readonly quarantineKey: string;
|
|
739
|
+
readonly quarantineId: string;
|
|
740
|
+
readonly fusionDecisionId: string;
|
|
741
|
+
readonly fusionDecisionDigest: string;
|
|
742
|
+
readonly profileId: string;
|
|
743
|
+
readonly profileDigest: string;
|
|
744
|
+
readonly logicalTimeMs: number;
|
|
745
|
+
} | {
|
|
746
|
+
readonly schemaVersion: 1;
|
|
747
|
+
readonly kind: "record_admitted";
|
|
748
|
+
readonly record: EvidenceRecordV1;
|
|
749
|
+
readonly origin: EvidenceRecordOriginV1;
|
|
750
|
+
readonly originBindingDigest: string;
|
|
751
|
+
readonly originVerifierBindingDigest: string | null;
|
|
752
|
+
readonly originProofDigest: string | null;
|
|
753
|
+
/** Historical effective time; it may not be later than admission time. */
|
|
754
|
+
readonly effectiveAtLogicalMs: number;
|
|
755
|
+
readonly logicalTimeMs: number;
|
|
756
|
+
} | {
|
|
757
|
+
readonly schemaVersion: 1;
|
|
758
|
+
readonly kind: "content_resolution_recorded";
|
|
759
|
+
readonly resolution: Omit<EvidenceContentResolutionV1, "resolutionId" | "resolutionDigest" | "resolvedAtLogicalMs">;
|
|
760
|
+
readonly logicalTimeMs: number;
|
|
761
|
+
} | {
|
|
762
|
+
readonly schemaVersion: 1;
|
|
763
|
+
readonly kind: "content_resolution_invalidated";
|
|
764
|
+
readonly invalidation: Omit<EvidenceContentResolutionInvalidationV1, "invalidationId" | "invalidatedAtLogicalMs">;
|
|
765
|
+
readonly logicalTimeMs: number;
|
|
766
|
+
} | {
|
|
767
|
+
readonly schemaVersion: 1;
|
|
768
|
+
readonly kind: "advance_logical_time";
|
|
769
|
+
readonly logicalTimeMs: number;
|
|
770
|
+
};
|
|
771
|
+
export interface EvidenceTrustEffectV1 {
|
|
772
|
+
readonly schemaVersion: 1;
|
|
773
|
+
readonly kind: "policy_registered" | "dependency_binding_registered" | "causal_authorization_recorded" | "fusion_evaluated" | "profile_evaluated" | "quarantine_activated" | "quarantine_review_required" | "quarantine_reviewed" | "quarantine_recovered" | "record_accepted" | "record_duplicate" | "record_status_changed" | "content_resolution_recorded" | "content_invalidation_recorded" | "logical_time_advanced";
|
|
774
|
+
readonly recordId: string | null;
|
|
775
|
+
readonly recordDigest: string | null;
|
|
776
|
+
readonly reasonCode: TrustReasonCodeV1;
|
|
777
|
+
}
|
|
778
|
+
export interface EvidenceTrustReducerResultV1 {
|
|
779
|
+
readonly state: EvidenceTrustStateV1;
|
|
780
|
+
readonly effects: readonly EvidenceTrustEffectV1[];
|
|
781
|
+
}
|
|
782
|
+
export interface EvidenceTrustStateV1 {
|
|
783
|
+
readonly schemaVersion: 1;
|
|
784
|
+
readonly stateId: string;
|
|
785
|
+
readonly limits: EvidenceTrustLimitsV1;
|
|
786
|
+
readonly logicalTimeHighWaterMs: number;
|
|
787
|
+
readonly policies: readonly EvidenceFusionPolicyV1[];
|
|
788
|
+
readonly policyHeads: readonly EvidenceTrustPolicyHeadV1[];
|
|
789
|
+
/** No duplicate source authority: bindings are canonical only inside policies. */
|
|
790
|
+
readonly sourceBindings: readonly [];
|
|
791
|
+
readonly dependencyBindings: readonly EvidenceTrustDependencyBindingV1[];
|
|
792
|
+
readonly dependencyBindingHeads: readonly EvidenceTrustDependencyBindingHeadV1[];
|
|
793
|
+
readonly causalAuthorizations: readonly EvidenceCausalAuthorizationV1[];
|
|
794
|
+
readonly records: readonly EvidenceRecordStateV1[];
|
|
795
|
+
readonly contentResolutions: readonly EvidenceContentResolutionV1[];
|
|
796
|
+
readonly contentInvalidations: readonly EvidenceContentResolutionInvalidationV1[];
|
|
797
|
+
readonly pendingRecords: readonly string[];
|
|
798
|
+
readonly fusionDecisions: readonly EvidenceFusionDecisionV1[];
|
|
799
|
+
readonly profiles: readonly TrustProfileV1[];
|
|
800
|
+
readonly profileHeads: readonly TrustProfileHeadV1[];
|
|
801
|
+
readonly quarantines: readonly QuarantineRecordV1[];
|
|
802
|
+
readonly quarantineHeads: readonly QuarantineHeadV1[];
|
|
803
|
+
readonly recoveryDecisions: readonly QuarantineRecoveryDecisionV1[];
|
|
804
|
+
readonly diagnostics: readonly EvidenceTrustDiagnosticV1[];
|
|
805
|
+
readonly traceDigest: string;
|
|
806
|
+
readonly encodedBytes: number;
|
|
807
|
+
}
|
|
808
|
+
export interface EvidenceTrustSnapshotIntegrityProofV1 {
|
|
809
|
+
readonly protectorBindingDigest: string;
|
|
810
|
+
readonly algorithmId: string;
|
|
811
|
+
readonly keyId: string;
|
|
812
|
+
readonly encoding: "base64url";
|
|
813
|
+
readonly proof: string;
|
|
814
|
+
}
|
|
815
|
+
export interface EvidenceTrustSnapshotV1 {
|
|
816
|
+
readonly schemaVersion: 1;
|
|
817
|
+
readonly snapshotId: string;
|
|
818
|
+
readonly snapshotDigest: string;
|
|
819
|
+
readonly stateId: string;
|
|
820
|
+
readonly generation: number;
|
|
821
|
+
readonly previousSnapshotDigest: string | null;
|
|
822
|
+
readonly createdAtLogicalMs: number;
|
|
823
|
+
readonly stateDigest: string;
|
|
824
|
+
readonly state: EvidenceTrustStateV1;
|
|
825
|
+
readonly integrityProof: EvidenceTrustSnapshotIntegrityProofV1;
|
|
826
|
+
}
|
|
827
|
+
export interface EvidenceTrustRollbackAnchorV1 {
|
|
828
|
+
readonly schemaVersion: 1;
|
|
829
|
+
readonly stateId: string;
|
|
830
|
+
readonly requiredGeneration: number;
|
|
831
|
+
readonly requiredSnapshotDigest: string;
|
|
832
|
+
readonly minimumLogicalHighWaterMs: number;
|
|
833
|
+
readonly protectorBindingDigest: string;
|
|
834
|
+
}
|
|
835
|
+
export interface EvidenceTrustSnapshotProtectorV1 {
|
|
836
|
+
readonly bindingDigest: string;
|
|
837
|
+
protect(materialBytes: Uint8Array): Omit<EvidenceTrustSnapshotIntegrityProofV1, "protectorBindingDigest">;
|
|
838
|
+
verify(materialBytes: Uint8Array, proof: EvidenceTrustSnapshotIntegrityProofV1): boolean;
|
|
839
|
+
}
|
|
840
|
+
export interface MeshEvidenceEnvelopeMaterialV1 {
|
|
841
|
+
readonly schemaVersion: 1;
|
|
842
|
+
readonly tenantId: string;
|
|
843
|
+
readonly meshId: string;
|
|
844
|
+
readonly objectiveId: string | null;
|
|
845
|
+
readonly senderPeerId: string;
|
|
846
|
+
readonly causationId: string | null;
|
|
847
|
+
}
|
|
848
|
+
export type MeshEvidenceWireScopeV1 = {
|
|
849
|
+
readonly kind: "mesh";
|
|
850
|
+
} | {
|
|
851
|
+
readonly kind: "objective";
|
|
852
|
+
readonly objectiveRevision: number;
|
|
853
|
+
} | {
|
|
854
|
+
readonly kind: "work";
|
|
855
|
+
readonly objectiveRevision: number;
|
|
856
|
+
readonly workItemId: string;
|
|
857
|
+
readonly workItemRevision: number;
|
|
858
|
+
readonly assignmentEpoch: number;
|
|
859
|
+
readonly assignmentAuthorityId: string;
|
|
860
|
+
readonly fencingToken: string;
|
|
861
|
+
};
|
|
862
|
+
//# sourceMappingURL=types.d.ts.map
|