necoherence/semantic_composition
Types
pub type AvailableValue {
AvailableValue(
producer: ProducerRef,
contract: semantic_types.SlotContract,
resource: option.Option(ResourceLotRef),
)
}
Constructors
-
AvailableValue( producer: ProducerRef, contract: semantic_types.SlotContract, resource: option.Option(ResourceLotRef), )
pub type BindingCompatibility {
Inclusion(certificate: InclusionCertificate)
SuppliedBindingValue(
value: semantic_types.SlotValue(exact_json.JsonValue),
)
}
Constructors
-
Inclusion(certificate: InclusionCertificate) -
SuppliedBindingValue( value: semantic_types.SlotValue(exact_json.JsonValue), )
pub type BindingExpr {
Source(
value: ValueRef,
projection: semantic_validation.ProjectionCertificate,
compatibility: BindingCompatibility,
)
Product(
construction: String,
type_ref: semantic_types.TypeRef,
fields: List(#(String, BindingExpr)),
)
}
Constructors
-
Source( value: ValueRef, projection: semantic_validation.ProjectionCertificate, compatibility: BindingCompatibility, ) -
Product( construction: String, type_ref: semantic_types.TypeRef, fields: List(#(String, BindingExpr)), )
pub type BranchFact {
BranchFact(
guard: GuardId,
inspected: ValueRef,
arm: GuardArm,
refinement: option.Option(semantic_types.SlotContract),
assumptions: List(semantic_validation.ProjectionAssumption),
exact: option.Option(
semantic_types.SlotValue(exact_json.JsonValue),
),
)
}
Constructors
-
BranchFact( guard: GuardId, inspected: ValueRef, arm: GuardArm, refinement: option.Option(semantic_types.SlotContract), assumptions: List(semantic_validation.ProjectionAssumption), exact: option.Option( semantic_types.SlotValue(exact_json.JsonValue), ), )
pub type BranchTrace {
BranchTrace(steps: List(TraceStep), terminal: ReturnPlan)
}
Constructors
-
BranchTrace(steps: List(TraceStep), terminal: ReturnPlan)
pub type CandidateBudget {
CandidateBudget(
bindings: Int,
branch_nodes: Int,
exhausted_bindings: Bool,
exhausted_branches: Bool,
)
}
Constructors
-
CandidateBudget( bindings: Int, branch_nodes: Int, exhausted_bindings: Bool, exhausted_branches: Bool, )
pub type CandidateTree {
CandidateTree(
tree: PlanTree,
success: Bool,
certificates: List(ResourceTraceCertificate),
nodes: Int,
)
}
Constructors
-
CandidateTree( tree: PlanTree, success: Bool, certificates: List(ResourceTraceCertificate), nodes: Int, )
CheckedAcyclic
opaquepub opaque type CheckedAcyclic
CheckedClosure
opaquepub opaque type CheckedClosure
CheckedComposition
opaquepub opaque type CheckedComposition
CheckedCompositionClosure
opaquepub opaque type CheckedCompositionClosure
CheckedInclusion
opaquepub opaque type CheckedInclusion
CheckedReachability
opaquepub opaque type CheckedReachability
pub type ChoiceCoverage {
ChoiceCoverage(choice: ChoiceSkeleton, children: List(Int))
}
Constructors
-
ChoiceCoverage(choice: ChoiceSkeleton, children: List(Int))
pub type ChoiceSkeleton {
InvocationChoice(
invocation: InvocationPlan,
outcomes: List(OutcomeId),
empty_outcomes: List(OutcomeId),
)
GuardChoice(
guard: GuardId,
inspected: ValueRef,
arms: List(GuardArm),
)
}
Constructors
-
InvocationChoice( invocation: InvocationPlan, outcomes: List(OutcomeId), empty_outcomes: List(OutcomeId), ) -
pub type ClosedSearchState {
ClosedSearchState(
state: SearchState,
terminals: List(TerminalCoverage),
choices: List(ChoiceCoverage),
rejected_connections: List(ConnectionFailure),
missing_supply: List(MissingSupply),
)
}
Constructors
-
ClosedSearchState( state: SearchState, terminals: List(TerminalCoverage), choices: List(ChoiceCoverage), rejected_connections: List(ConnectionFailure), missing_supply: List(MissingSupply), )
pub type CompatibilityDecision {
Compatible(certificate: InclusionCertificate)
Incompatible(certificate: CounterexampleCertificate)
CompatibilityUnknown(obligations: List(TypeObligation))
}
Constructors
-
Compatible(certificate: InclusionCertificate) -
Incompatible(certificate: CounterexampleCertificate) -
CompatibilityUnknown(obligations: List(TypeObligation))
pub type CompositionClosureWitness {
CompositionClosureWitness(
input_snapshot: CompositionInput,
root: Int,
states: List(ClosedSearchState),
)
}
Constructors
-
CompositionClosureWitness( input_snapshot: CompositionInput, root: Int, states: List(ClosedSearchState), )
pub type CompositionDecision {
Solved(
composition: CheckedComposition,
selection: SelectionEvidence,
)
Unreachable(closure: CompositionClosureWitness)
CompositionUnknown(
obligations: List(UnresolvedObligation),
frontier: List(SearchState),
rejected_connections: List(ConnectionFailure),
)
Ambiguous(
candidates: List(VerifiedCompositionCandidate),
canonical_plans: List(String),
)
}
Constructors
-
Solved( composition: CheckedComposition, selection: SelectionEvidence, ) -
Unreachable(closure: CompositionClosureWitness) -
CompositionUnknown( obligations: List(UnresolvedObligation), frontier: List(SearchState), rejected_connections: List(ConnectionFailure), ) -
Ambiguous( candidates: List(VerifiedCompositionCandidate), canonical_plans: List(String), )
pub type CompositionEffect {
PureFunction
HttpRequestResponse
DataOnly
}
Constructors
-
PureFunction -
HttpRequestResponse -
DataOnly
pub type CompositionEngineFailure {
ContractViolation(reason: String)
ResourceFailure(failure: typed_mapping.SolverFailure)
Witness(failure: WitnessFailure)
}
Constructors
-
ContractViolation(reason: String) -
ResourceFailure(failure: typed_mapping.SolverFailure) -
Witness(failure: WitnessFailure)
pub type CompositionInput {
CompositionInput(
identity: String,
revision: String,
basis: SemanticBasis,
signatures: List(FunctionSignature),
initial_inputs: List(InitialInput),
initial_resources: List(ResourceLot),
goal: GoalSpec,
invocation_domain: InvocationDomain,
allowed_effects: List(CompositionEffect),
explicit_order: List(#(SiteId, SiteId)),
selection_policy: option.Option(SelectionPolicy),
bounds: SearchBounds,
)
}
Constructors
-
CompositionInput( identity: String, revision: String, basis: SemanticBasis, signatures: List(FunctionSignature), initial_inputs: List(InitialInput), initial_resources: List(ResourceLot), goal: GoalSpec, invocation_domain: InvocationDomain, allowed_effects: List(CompositionEffect), explicit_order: List(#(SiteId, SiteId)), selection_policy: option.Option(SelectionPolicy), bounds: SearchBounds, )
pub type CompositionInputFailure {
InputBasisMismatch
DuplicateIdentity(kind: String, identity: String)
UnresolvedType(reference: semantic_types.TypeRef)
UnresolvedFunction(reference: FunctionRef)
InvalidSignature(function: FunctionRef, reason: String)
InvalidInitialValue(
input: InputId,
failure: semantic_types.ValueFailure,
)
InvalidInitialCertificate(input: InputId, condition: String)
InvalidInvocationDomain(reason: String)
InvalidResourceDeclaration(reason: String)
InvalidBound(reason: String)
OperationEffectMismatch(
operation: semantic_types.DefinitionRef,
expected: CompositionEffect,
supplied: CompositionEffect,
)
}
Constructors
-
InputBasisMismatch -
DuplicateIdentity(kind: String, identity: String) -
UnresolvedType(reference: semantic_types.TypeRef) -
UnresolvedFunction(reference: FunctionRef) -
InvalidSignature(function: FunctionRef, reason: String) -
InvalidInitialValue( input: InputId, failure: semantic_types.ValueFailure, ) -
InvalidInitialCertificate(input: InputId, condition: String) -
InvalidInvocationDomain(reason: String) -
InvalidResourceDeclaration(reason: String) -
InvalidBound(reason: String) -
OperationEffectMismatch( operation: semantic_types.DefinitionRef, expected: CompositionEffect, supplied: CompositionEffect, )
pub type CompositionWitness {
CompositionWitness(
input_snapshot: CompositionInput,
initial_membership: List(
#(InputId, semantic_types.SlotValue(exact_json.JsonValue)),
),
resource_traces: List(ResourceTraceCertificate),
)
}
Constructors
-
CompositionWitness( input_snapshot: CompositionInput, initial_membership: List( #(InputId, semantic_types.SlotValue(exact_json.JsonValue)), ), resource_traces: List(ResourceTraceCertificate), )
pub type ConnectionFailure {
ConnectionFailure(
value: option.Option(ValueRef),
destination: semantic_types.SlotContract,
counterexample: CounterexampleCertificate,
)
}
Constructors
-
ConnectionFailure( value: option.Option(ValueRef), destination: semantic_types.SlotContract, counterexample: CounterexampleCertificate, )
pub type ConstructionRule {
ConstructionRule(
identity: String,
type_ref: semantic_types.TypeRef,
nested_fields: List(#(String, String)),
field_constraints: List(FieldConstraint),
)
}
Constructors
-
ConstructionRule( identity: String, type_ref: semantic_types.TypeRef, nested_fields: List(#(String, String)), field_constraints: List(FieldConstraint), )
pub type CounterexampleCertificate {
CounterexampleCertificate(
basis: SemanticBasis,
source: semantic_types.SlotContract,
destination: semantic_types.SlotContract,
value: semantic_types.SlotValue(exact_json.JsonValue),
destination_failure: semantic_types.ValueFailure,
)
}
Constructors
-
CounterexampleCertificate( basis: SemanticBasis, source: semantic_types.SlotContract, destination: semantic_types.SlotContract, value: semantic_types.SlotValue(exact_json.JsonValue), destination_failure: semantic_types.ValueFailure, )
pub type DeclaredGuard {
DeclaredGuard(
id: GuardId,
source_type: semantic_types.TypeRef,
path: List(semantic_types.PathStep),
kind: GuardKind,
)
}
Constructors
-
DeclaredGuard( id: GuardId, source_type: semantic_types.TypeRef, path: List(semantic_types.PathStep), kind: GuardKind, )
pub type Enumeration {
Enumeration(
terminals: List(ReturnPlan),
choices: List(ChoiceSkeleton),
unknown: List(UnresolvedObligation),
failures: List(ConnectionFailure),
missing: List(MissingSupply),
budget: CandidateBudget,
)
}
Constructors
-
Enumeration( terminals: List(ReturnPlan), choices: List(ChoiceSkeleton), unknown: List(UnresolvedObligation), failures: List(ConnectionFailure), missing: List(MissingSupply), budget: CandidateBudget, )
pub type FailureEmbedding {
FailureEmbedding(
id: FailureEmbeddingId,
origin: FailureOrigin,
contract: semantic_types.SlotContract,
final_resources: List(ResourceGoal),
)
}
Constructors
-
FailureEmbedding( id: FailureEmbeddingId, origin: FailureOrigin, contract: semantic_types.SlotContract, final_resources: List(ResourceGoal), )
pub type FailureEmbeddingId {
FailureEmbeddingId(value: String)
}
Constructors
-
FailureEmbeddingId(value: String)
pub type FailureOrigin {
FunctionFailure(function: FunctionRef, outcome: OutcomeId)
GuardFailure(guard: GuardId, arm: GuardArm)
}
Constructors
-
FunctionFailure(function: FunctionRef, outcome: OutcomeId) -
pub type FieldConstraint {
FieldConstraint(
field: String,
source: SourceConstraint,
presence: FieldPresence,
)
}
Constructors
-
FieldConstraint( field: String, source: SourceConstraint, presence: FieldPresence, )
pub type FieldPresence {
Required
Optional
}
Constructors
-
Required -
Optional
pub type FunctionForm {
Pure
Operation(reference: semantic_types.DefinitionRef)
DeclaredTransform
}
Constructors
-
Pure -
Operation(reference: semantic_types.DefinitionRef) -
DeclaredTransform
pub type FunctionRef {
FunctionRef(
identity: String,
revision: String,
content_digest: String,
)
}
Constructors
-
FunctionRef( identity: String, revision: String, content_digest: String, )
pub type FunctionSignature {
FunctionSignature(
reference: FunctionRef,
form: FunctionForm,
effect: CompositionEffect,
inputs: List(InputPort),
outcomes: List(OutcomeContract),
resource_inputs: List(ResourceRequirement),
assumption_ref: String,
handles_failure: option.Option(FailureOrigin),
)
}
Constructors
-
FunctionSignature( reference: FunctionRef, form: FunctionForm, effect: CompositionEffect, inputs: List(InputPort), outcomes: List(OutcomeContract), resource_inputs: List(ResourceRequirement), assumption_ref: String, handles_failure: option.Option(FailureOrigin), )
pub type GoalPort {
GoalPort(
id: GoalPortId,
contract: semantic_types.SlotContract,
source_constraint: SourceConstraint,
)
}
Constructors
-
GoalPort( id: GoalPortId, contract: semantic_types.SlotContract, source_constraint: SourceConstraint, )
pub type GoalPortId {
GoalPortId(value: String)
}
Constructors
-
GoalPortId(value: String)
pub type GoalSpec {
GoalSpec(
outputs: List(GoalPort),
failures: List(FailureEmbedding),
final_resources: List(ResourceGoal),
)
}
Constructors
-
GoalSpec( outputs: List(GoalPort), failures: List(FailureEmbedding), final_resources: List(ResourceGoal), )
pub type GuardArm {
GuardPresent
GuardAbsent
GuardNull
GuardVariant(tag: String)
UnknownVariant
GuardAccepted
GuardRejected
}
Constructors
-
GuardPresent -
GuardAbsent -
GuardNull -
GuardVariant(tag: String) -
UnknownVariant -
GuardAccepted -
GuardRejected
pub type GuardId {
GuardId(value: String)
}
Constructors
-
GuardId(value: String)
pub type GuardKind {
Presence
Variants
Validate(contract: semantic_types.SlotContract)
}
Constructors
-
Presence -
Variants -
Validate(contract: semantic_types.SlotContract)
pub type InclusionCertificate {
InclusionCertificate(
basis: SemanticBasis,
source: semantic_types.SlotContract,
destination: semantic_types.SlotContract,
root: Int,
empty_types: List(semantic_types.TypeRef),
pairs: List(PairEntry),
)
}
Constructors
-
InclusionCertificate( basis: SemanticBasis, source: semantic_types.SlotContract, destination: semantic_types.SlotContract, root: Int, empty_types: List(semantic_types.TypeRef), pairs: List(PairEntry), )
pub type InclusionFailure {
InclusionBasisMismatch
ContractMismatch
UndefinedMeaning(
obligations: List(semantic_types.SemanticObligation),
)
MissingPair
PairMismatch(index: Int)
RuleMismatch(index: Int)
ChildCoverage(index: Int)
ForgedEmptiness
CounterexampleMismatch
InclusionUnresolved(obligation: TypeObligation)
}
Constructors
-
InclusionBasisMismatch -
ContractMismatch -
UndefinedMeaning( obligations: List(semantic_types.SemanticObligation), ) -
MissingPair -
PairMismatch(index: Int) -
RuleMismatch(index: Int) -
ChildCoverage(index: Int) -
ForgedEmptiness -
CounterexampleMismatch -
InclusionUnresolved(obligation: TypeObligation)
pub type InclusionRule {
EmptySource
InclusionBoolean
IntegerIntersection
FiniteStrings
StringConditions
BytesLength
InclusionUnit
JsonDomain
PlainObjectDomain
UnfoldSource
UnfoldDestination
InclusionArray
InclusionProduct
SourceUnion
DestinationUnion
SourceRecord
DestinationRecord
ProductTagCases
}
Constructors
-
EmptySource -
InclusionBoolean -
IntegerIntersection -
FiniteStrings -
StringConditions -
BytesLength -
InclusionUnit -
JsonDomain -
PlainObjectDomain -
UnfoldSource -
UnfoldDestination -
InclusionArray -
InclusionProduct -
SourceUnion -
DestinationUnion -
SourceRecord -
DestinationRecord -
ProductTagCases
pub type InitialInput {
InitialInput(
id: InputId,
contract: semantic_types.SlotContract,
source: InitialSource,
resource: option.Option(LotId),
)
}
Constructors
-
InitialInput( id: InputId, contract: semantic_types.SlotContract, source: InitialSource, resource: option.Option(LotId), )
pub type InitialSource {
Argument
SuppliedValue(
value: semantic_types.SlotValue(exact_json.JsonValue),
)
}
Constructors
-
Argument -
SuppliedValue( value: semantic_types.SlotValue(exact_json.JsonValue), )
pub type InputId {
InputId(value: String)
}
Constructors
-
InputId(value: String)
pub type InputPort {
InputPort(
id: PortId,
contract: semantic_types.SlotContract,
source_constraint: SourceConstraint,
resource_requirement: option.Option(RequirementId),
)
}
Constructors
-
InputPort( id: PortId, contract: semantic_types.SlotContract, source_constraint: SourceConstraint, resource_requirement: option.Option(RequirementId), )
pub type InvocationDomain {
InvocationDomain(
identity: String,
revision: String,
sites: List(InvocationSite),
permitted_projections: List(PermittedProjection),
permitted_constructions: List(ConstructionRule),
permitted_transforms: List(FunctionRef),
guards: List(DeclaredGuard),
)
}
Constructors
-
InvocationDomain( identity: String, revision: String, sites: List(InvocationSite), permitted_projections: List(PermittedProjection), permitted_constructions: List(ConstructionRule), permitted_transforms: List(FunctionRef), guards: List(DeclaredGuard), )
pub type InvocationPlan {
InvocationPlan(
site: SiteId,
function: FunctionRef,
bindings: List(#(PortId, BindingExpr)),
resources: List(ResourceBinding),
)
}
Constructors
-
InvocationPlan( site: SiteId, function: FunctionRef, bindings: List(#(PortId, BindingExpr)), resources: List(ResourceBinding), )
pub type InvocationSite {
InvocationSite(id: SiteId, function: FunctionRef)
}
Constructors
-
InvocationSite(id: SiteId, function: FunctionRef)
pub type LotId {
LotId(value: String)
}
Constructors
-
LotId(value: String)
pub type LoweringFailure {
InvalidLowering(reason: String)
UnknownLowering(obligation: UnresolvedObligation)
}
Constructors
-
InvalidLowering(reason: String) -
UnknownLowering(obligation: UnresolvedObligation)
pub type MissingSupply {
MissingSupply(
site: option.Option(SiteId),
port: String,
contract: semantic_types.SlotContract,
)
}
Constructors
-
MissingSupply( site: option.Option(SiteId), port: String, contract: semantic_types.SlotContract, )
pub type NormalizedResourceBinding {
NormalizedResourceBinding(
transition: String,
lot: ResourceLotRef,
read: Int,
consume: Int,
required_revision: Int,
)
}
Constructors
-
NormalizedResourceBinding( transition: String, lot: ResourceLotRef, read: Int, consume: Int, required_revision: Int, )
pub type OutcomeContract {
OutcomeContract(
id: OutcomeId,
form: OutcomeForm,
value_ports: List(OutputPort),
produced_resources: List(ResourceProduction),
)
}
Constructors
-
OutcomeContract( id: OutcomeId, form: OutcomeForm, value_ports: List(OutputPort), produced_resources: List(ResourceProduction), )
pub type OutcomeForm {
Success
DeclaredFailure
}
Constructors
-
Success -
DeclaredFailure
pub type OutcomeId {
OutcomeId(value: String)
}
Constructors
-
OutcomeId(value: String)
pub type OutputPort {
OutputPort(
id: PortId,
contract: semantic_types.SlotContract,
resource_production: option.Option(ProductionId),
)
}
Constructors
-
OutputPort( id: PortId, contract: semantic_types.SlotContract, resource_production: option.Option(ProductionId), )
pub type PairEntry {
PairEntry(
pair: TypePair,
source_shape: semantic_types.TypeShape,
destination_shape: semantic_types.TypeShape,
rule: InclusionRule,
children: List(Int),
)
}
Constructors
-
PairEntry( pair: TypePair, source_shape: semantic_types.TypeShape, destination_shape: semantic_types.TypeShape, rule: InclusionRule, children: List(Int), )
pub type PermittedProjection {
PermittedProjection(
source_type: semantic_types.TypeRef,
path: List(semantic_types.PathStep),
)
}
Constructors
-
PermittedProjection( source_type: semantic_types.TypeRef, path: List(semantic_types.PathStep), )
pub type PlanNode {
Invoke(
invocation: InvocationPlan,
arms: List(#(OutcomeId, PlanTree)),
empty_outcomes: List(OutcomeId),
)
Guard(
guard: GuardId,
inspected: ValueRef,
arms: List(#(GuardArm, PlanTree)),
)
Return(terminal: ReturnPlan)
}
Constructors
-
Invoke( invocation: InvocationPlan, arms: List(#(OutcomeId, PlanTree)), empty_outcomes: List(OutcomeId), ) -
-
Return(terminal: ReturnPlan)
pub type PortId {
PortId(value: String)
}
Constructors
-
PortId(value: String)
PreparedCompositionInput
opaquepub opaque type PreparedCompositionInput
pub type ProductionId {
ProductionId(value: String)
}
Constructors
-
ProductionId(value: String)
pub type RawComposition {
RawComposition(
plan: CompositionPlan,
witness: CompositionWitness,
selection: SelectionEvidence,
)
}
Constructors
-
RawComposition( plan: CompositionPlan, witness: CompositionWitness, selection: SelectionEvidence, )
pub type RequirementId {
RequirementId(value: String)
}
Constructors
-
RequirementId(value: String)
pub type ResourceBinding {
ResourceBinding(
requirement: RequirementId,
lot: ResourceLotRef,
inclusion: InclusionCertificate,
)
}
Constructors
-
ResourceBinding( requirement: RequirementId, lot: ResourceLotRef, inclusion: InclusionCertificate, )
pub type ResourceBounds {
ResourceBounds(
max_bindings: Int,
max_search_steps: Int,
max_tokens: Int,
)
}
Constructors
-
ResourceBounds( max_bindings: Int, max_search_steps: Int, max_tokens: Int, )
pub type ResourceCorrespondence {
ResourceCorrespondence(
lots: List(ResourceLotCorrespondence),
values: List(ValueCorrespondence),
normalized_bindings: List(NormalizedResourceBinding),
execution_order: List(String),
)
}
Constructors
-
ResourceCorrespondence( lots: List(ResourceLotCorrespondence), values: List(ValueCorrespondence), normalized_bindings: List(NormalizedResourceBinding), execution_order: List(String), )
pub type ResourceGoal {
ResourceGoal(
lot: ResourceLotRef,
multiplicity: Int,
revision: Int,
)
}
Constructors
-
ResourceGoal( lot: ResourceLotRef, multiplicity: Int, revision: Int, )
pub type ResourceIdentityConstraint {
AnyResource
Exactly(producer: ResourceProducer)
}
Constructors
-
AnyResource -
Exactly(producer: ResourceProducer)
pub type ResourceLot {
ResourceLot(
id: LotId,
token_type: semantic_types.TypeRef,
producer: ResourceProducer,
revision: Int,
quantity: Int,
provenance: String,
)
}
Constructors
-
ResourceLot( id: LotId, token_type: semantic_types.TypeRef, producer: ResourceProducer, revision: Int, quantity: Int, provenance: String, )
pub type ResourceLotCorrespondence {
ResourceLotCorrespondence(
lot: ResourceLotRef,
place: String,
producer: ResourceProducer,
token_target: String,
token_type: String,
revision: Int,
quantity: Int,
provenance: String,
)
}
Constructors
-
ResourceLotCorrespondence( lot: ResourceLotRef, place: String, producer: ResourceProducer, token_target: String, token_type: String, revision: Int, quantity: Int, provenance: String, )
pub type ResourceLotRef {
InitialLot(id: LotId)
ProducedLot(
site: SiteId,
outcome: OutcomeId,
production: ProductionId,
)
}
Constructors
-
InitialLot(id: LotId) -
ProducedLot( site: SiteId, outcome: OutcomeId, production: ProductionId, )
pub type ResourceProduction {
ResourceProduction(
id: ProductionId,
token_type: semantic_types.TypeRef,
revision: Int,
quantity: Int,
provenance: String,
)
}
Constructors
-
ResourceProduction( id: ProductionId, token_type: semantic_types.TypeRef, revision: Int, quantity: Int, provenance: String, )
pub type ResourceRequirement {
ResourceRequirement(
id: RequirementId,
token_type: semantic_types.TypeRef,
mode: typed_mapping.BindingMode,
multiplicity: Int,
required_revision: Int,
identity: ResourceIdentityConstraint,
)
}
Constructors
-
ResourceRequirement( id: RequirementId, token_type: semantic_types.TypeRef, mode: typed_mapping.BindingMode, multiplicity: Int, required_revision: Int, identity: ResourceIdentityConstraint, )
pub type ResourceTraceCertificate {
ResourceTraceCertificate(
trace: BranchTrace,
lowering: typed_mapping.SolverInput,
correspondence: ResourceCorrespondence,
reachability: typed_mapping.ReachabilityWitness,
acyclicity: typed_mapping.AcyclicWitness,
value_sources: List(
#(
ProducerRef,
semantic_types.SlotValue(exact_json.JsonValue),
),
),
)
}
Constructors
-
ResourceTraceCertificate( trace: BranchTrace, lowering: typed_mapping.SolverInput, correspondence: ResourceCorrespondence, reachability: typed_mapping.ReachabilityWitness, acyclicity: typed_mapping.AcyclicWitness, value_sources: List( #(ProducerRef, semantic_types.SlotValue(exact_json.JsonValue)), ), )
pub type ReturnPlan {
ReturnSuccess(outputs: List(#(GoalPortId, BindingExpr)))
ReturnFailure(
embedding: FailureEmbeddingId,
value: BindingExpr,
)
}
Constructors
-
ReturnSuccess(outputs: List(#(GoalPortId, BindingExpr))) -
ReturnFailure(embedding: FailureEmbeddingId, value: BindingExpr)
pub type SampleObligation {
SampleBound
}
Constructors
-
SampleBound
pub type SampleResult(a) {
SampleResult(
values: List(a),
obligations: List(SampleObligation),
)
}
Constructors
-
SampleResult( values: List(a), obligations: List(SampleObligation), )
pub type SearchBounds {
SearchBounds(
max_expanded_states: Int,
max_binding_candidates: Int,
max_type_obligations: Int,
max_branch_nodes: Int,
resource_bounds: option.Option(ResourceBounds),
max_sample_length: Int,
)
}
Constructors
-
SearchBounds( max_expanded_states: Int, max_binding_candidates: Int, max_type_obligations: Int, max_branch_nodes: Int, resource_bounds: option.Option(ResourceBounds), max_sample_length: Int, )
pub type SearchState {
SearchState(
available: List(AvailableValue),
used_sites: List(SiteId),
used_guards: List(GuardId),
facts: List(BranchFact),
trace: List(TraceStep),
pending_failure: option.Option(FailureOrigin),
)
}
Constructors
-
SearchState( available: List(AvailableValue), used_sites: List(SiteId), used_guards: List(GuardId), facts: List(BranchFact), trace: List(TraceStep), pending_failure: option.Option(FailureOrigin), )
pub type SelectionEvidence {
AnyFeasibleEvidence
Unique(
closure: CompositionClosureWitness,
canonical_plan: String,
)
}
Constructors
-
AnyFeasibleEvidence -
Unique( closure: CompositionClosureWitness, canonical_plan: String, )
pub type SelectionPolicy {
RequireUnique
AnyFeasible
}
Constructors
-
RequireUnique -
AnyFeasible
pub type SemanticBasis {
SemanticBasis(
profile: semantic_types.SemanticProfile,
sources: List(semantic_types.SourceRef),
)
}
Constructors
-
SemanticBasis( profile: semantic_types.SemanticProfile, sources: List(semantic_types.SourceRef), )
pub type SiteId {
SiteId(value: String)
}
Constructors
-
SiteId(value: String)
pub type SourceConstraint {
AnyCompatible
InitialOnly(
input: InputId,
path: List(semantic_types.PathStep),
)
ProducedBy(
site: SiteId,
outcome: OutcomeId,
port: PortId,
path: List(semantic_types.PathStep),
)
}
Constructors
-
AnyCompatible -
InitialOnly(input: InputId, path: List(semantic_types.PathStep)) -
ProducedBy( site: SiteId, outcome: OutcomeId, port: PortId, path: List(semantic_types.PathStep), )
pub type TerminalAssessment {
Feasible(certificate: ResourceTraceCertificate)
ResourceUnreachable(
trace: BranchTrace,
lowering: typed_mapping.SolverInput,
correspondence: ResourceCorrespondence,
closure: typed_mapping.ClosureWitness,
)
RejectedLowering(trace: BranchTrace, reason: String)
EmptyValues(producers: List(ProducerRef))
TerminalUnknown(obligations: List(UnresolvedObligation))
}
Constructors
-
Feasible(certificate: ResourceTraceCertificate) -
ResourceUnreachable( trace: BranchTrace, lowering: typed_mapping.SolverInput, correspondence: ResourceCorrespondence, closure: typed_mapping.ClosureWitness, ) -
RejectedLowering(trace: BranchTrace, reason: String) -
EmptyValues(producers: List(ProducerRef)) -
TerminalUnknown(obligations: List(UnresolvedObligation))
pub type TerminalCoverage {
TerminalCoverage(
terminal: ReturnPlan,
assessment: TerminalAssessment,
)
}
Constructors
-
TerminalCoverage( terminal: ReturnPlan, assessment: TerminalAssessment, )
pub type TraceStep {
InvocationStep(invocation: InvocationPlan, outcome: OutcomeId)
GuardStep(guard: GuardId, inspected: ValueRef, arm: GuardArm)
}
Constructors
-
InvocationStep(invocation: InvocationPlan, outcome: OutcomeId) -
pub type TypeObligation {
TypeObligation(
pair: TypePair,
path: List(semantic_types.PathStep),
reason: TypeObligationReason,
)
}
Constructors
-
TypeObligation( pair: TypePair, path: List(semantic_types.PathStep), reason: TypeObligationReason, )
pub type TypeObligationReason {
TypeMeaning(
obligations: List(semantic_types.SemanticObligation),
)
ConstraintImplication
TypePresence
UnionRemainder
ExtraField(name: String)
TypeInhabitation
ObligationBoundExhausted
}
Constructors
-
TypeMeaning(obligations: List(semantic_types.SemanticObligation)) -
ConstraintImplication -
TypePresence -
UnionRemainder -
ExtraField(name: String) -
TypeInhabitation -
ObligationBoundExhausted
pub type TypePair {
TypePair(
source: semantic_types.SlotContract,
destination: semantic_types.SlotContract,
source_tag: option.Option(String),
)
}
Constructors
-
TypePair( source: semantic_types.SlotContract, destination: semantic_types.SlotContract, source_tag: option.Option(String), )
pub type UnresolvedObligation {
UnresolvedTypeObligation(
value: option.Option(ValueRef),
obligations: List(TypeObligation),
)
UnresolvedMeaning(
obligations: List(semantic_types.SemanticObligation),
)
InvalidValidationCertificate(condition: String)
Inhabitation(
producer: ProducerRef,
contract: semantic_types.SlotContract,
)
BranchInhabitation
StateBoundExhausted
BindingBoundExhausted
BranchBoundExhausted
ResourceSolverUnknown(reason: typed_mapping.UnknownReason)
ResourceCapacityBound(required: Int, limit: Int)
UnresolvedUniqueness
}
Constructors
-
UnresolvedTypeObligation( value: option.Option(ValueRef), obligations: List(TypeObligation), ) -
UnresolvedMeaning( obligations: List(semantic_types.SemanticObligation), ) -
InvalidValidationCertificate(condition: String) -
Inhabitation( producer: ProducerRef, contract: semantic_types.SlotContract, ) -
BranchInhabitation -
StateBoundExhausted -
BindingBoundExhausted -
BranchBoundExhausted -
ResourceSolverUnknown(reason: typed_mapping.UnknownReason) -
ResourceCapacityBound(required: Int, limit: Int) -
UnresolvedUniqueness
pub type ValueCorrespondence {
ValueCorrespondence(
producer: ProducerRef,
place: String,
token_target: String,
revision: Int,
)
}
Constructors
-
ValueCorrespondence( producer: ProducerRef, place: String, token_target: String, revision: Int, )
pub type ValueRef {
ValueRef(
producer: ProducerRef,
path: List(semantic_types.PathStep),
)
}
Constructors
-
ValueRef( producer: ProducerRef, path: List(semantic_types.PathStep), )
VerifiedCompositionCandidate
opaquepub opaque type VerifiedCompositionCandidate
pub type WitnessFailure {
InputRevisionMismatch
InitialMembership(input: InputId)
ProducerMismatch(value: ValueRef)
ProjectionMismatch(
failure: semantic_validation.ProjectionFailure,
)
SourceConstraintMismatch(value: ValueRef)
InclusionMismatch(failure: InclusionFailure)
SuppliedValueMismatch(value: ValueRef)
ConstructionMismatch(reference: semantic_types.TypeRef)
MissingBinding(identity: String)
SignatureMismatch(site: SiteId)
GuardNotDominating(value: ValueRef)
IncompleteBranchCoverage(identity: String)
FailureEmbeddingMismatch(embedding: FailureEmbeddingId)
GoalMismatch
RankViolation
ResourceLoweringMismatch(reason: String)
ResourceReplayMismatch(reason: String)
ForgedClosure(reason: String)
ForgedAcyclicity(reason: String)
MissingEvidence(reason: String)
}
Constructors
-
InputRevisionMismatch -
InitialMembership(input: InputId) -
ProducerMismatch(value: ValueRef) -
ProjectionMismatch( failure: semantic_validation.ProjectionFailure, ) -
SourceConstraintMismatch(value: ValueRef) -
InclusionMismatch(failure: InclusionFailure) -
SuppliedValueMismatch(value: ValueRef) -
ConstructionMismatch(reference: semantic_types.TypeRef) -
MissingBinding(identity: String) -
SignatureMismatch(site: SiteId) -
GuardNotDominating(value: ValueRef) -
IncompleteBranchCoverage(identity: String) -
FailureEmbeddingMismatch(embedding: FailureEmbeddingId) -
GoalMismatch -
RankViolation -
ResourceLoweringMismatch(reason: String) -
ResourceReplayMismatch(reason: String) -
ForgedClosure(reason: String) -
ForgedAcyclicity(reason: String) -
MissingEvidence(reason: String)
Values
pub fn acyclic_input(
checked: CheckedAcyclic,
) -> typed_mapping.SolverInput
pub fn acyclic_witness(
checked: CheckedAcyclic,
) -> typed_mapping.AcyclicWitness
pub fn add_discriminator(
tag_model: option.Option(semantic_types.TagModel),
value: exact_json.JsonValue,
tag: String,
) -> option.Option(exact_json.JsonValue)
pub fn at(values: List(a), index: Int) -> option.Option(a)
pub fn bounded_slot_samples(
graph: semantic_types.SemanticGraph,
contract: semantic_types.SlotContract,
limit: Int,
max_sample_length: Int,
) -> SampleResult(semantic_types.SlotValue(exact_json.JsonValue))
pub fn candidate_components(
prepared: PreparedCompositionInput,
candidate: CandidateTree,
) -> Result(
#(CompositionPlan, CompositionWitness),
CompositionEngineFailure,
)
pub fn candidate_key(
input: CompositionInput,
candidate: CandidateTree,
) -> String
pub fn candidate_plan(
candidate: VerifiedCompositionCandidate,
) -> CompositionPlan
pub fn candidate_prepared(
candidate: VerifiedCompositionCandidate,
) -> PreparedCompositionInput
pub fn candidate_witness(
candidate: VerifiedCompositionCandidate,
) -> CompositionWitness
pub fn check_assignable(
graph: semantic_types.SemanticGraph,
source: semantic_types.SlotContract,
destination: semantic_types.SlotContract,
max_obligations: Int,
) -> CompatibilityDecision
pub fn check_assignable_bounded(
graph: semantic_types.SemanticGraph,
source: semantic_types.SlotContract,
destination: semantic_types.SlotContract,
bounds: SearchBounds,
) -> CompatibilityDecision
pub fn check_function(
graph: semantic_types.SemanticGraph,
input: CompositionInput,
function: FunctionSignature,
) -> Result(Nil, CompositionInputFailure)
pub fn check_return(
prepared: PreparedCompositionInput,
state: SearchState,
terminal: ReturnPlan,
) -> Result(Bool, WitnessFailure)
pub fn checked_inclusion_certificate(
checked: CheckedInclusion,
) -> InclusionCertificate
pub fn checked_inclusion_graph(
checked: CheckedInclusion,
) -> semantic_types.SemanticGraph
pub fn checked_plan(
checked: CheckedComposition,
) -> CompositionPlan
pub fn checked_prepared(
checked: CheckedComposition,
) -> PreparedCompositionInput
pub fn checked_raw(checked: CheckedComposition) -> RawComposition
pub fn checked_witness(
checked: CheckedComposition,
) -> CompositionWitness
pub fn choice_states(
prepared: PreparedCompositionInput,
state: SearchState,
choice: ChoiceSkeleton,
) -> Result(List(SearchState), WitnessFailure)
pub fn closure_canonical_plans(
checked: CheckedCompositionClosure,
) -> List(String)
pub fn closure_witness(
checked: CheckedCompositionClosure,
) -> CompositionClosureWitness
pub fn collect(
values: List(a),
action: fn(a) -> Result(b, e),
) -> Result(List(b), e)
pub fn decide_ambiguous(
prepared: PreparedCompositionInput,
first: CandidateTree,
second: CandidateTree,
) -> Result(CompositionDecision, CompositionEngineFailure)
pub fn decide_unreachable(
prepared: PreparedCompositionInput,
closure: CompositionClosureWitness,
) -> Result(CompositionDecision, CompositionEngineFailure)
pub const default_resource_token_bound: Int
pub fn default_search_bounds() -> SearchBounds
pub fn distinct_candidates(
input: CompositionInput,
candidates: List(CandidateTree),
) -> List(CandidateTree)
pub fn effective_projection(
prepared: PreparedCompositionInput,
state: SearchState,
value: ValueRef,
) -> Result(
semantic_validation.ProjectionCertificate,
WitnessFailure,
)
pub fn enumerate_state(
prepared: PreparedCompositionInput,
state: SearchState,
budget: CandidateBudget,
) -> Enumeration
pub fn evaluate_guard_arm(
graph: semantic_types.SemanticGraph,
guard: DeclaredGuard,
inspected: semantic_types.SlotValue(exact_json.JsonValue),
) -> Result(GuardArm, semantic_types.ValueDecision)
pub fn fresh_budget() -> CandidateBudget
pub fn goal_unreachable(
checked: CheckedCompositionClosure,
) -> Bool
pub fn guard_declaration(
input: CompositionInput,
id: GuardId,
) -> option.Option(DeclaredGuard)
pub fn inclusion_samples(
graph: semantic_types.SemanticGraph,
source: semantic_types.TypeRef,
destination: semantic_types.TypeRef,
limit: Int,
) -> List(exact_json.JsonValue)
pub fn inclusion_samples_bounded(
graph: semantic_types.SemanticGraph,
source: semantic_types.TypeRef,
destination: semantic_types.TypeRef,
bounds: SearchBounds,
) -> SampleResult(exact_json.JsonValue)
pub fn inclusion_slot_samples(
graph: semantic_types.SemanticGraph,
source: semantic_types.SlotContract,
destination: semantic_types.TypeRef,
limit: Int,
) -> List(semantic_types.SlotValue(exact_json.JsonValue))
pub fn index_of(
values: List(a),
value: a,
index: Int,
) -> option.Option(Int)
pub fn initial_state(
prepared: PreparedCompositionInput,
) -> SearchState
pub fn lower_resource_trace(
prepared: PreparedCompositionInput,
trace: BranchTrace,
) -> Result(
#(typed_mapping.SolverInput, ResourceCorrespondence),
LoweringFailure,
)
pub fn merge_choice(
input: CompositionInput,
state: SearchState,
choice: ChoiceSkeleton,
children: List(List(CandidateTree)),
budget: CandidateBudget,
) -> #(List(CandidateTree), CandidateBudget)
pub fn prepare_composition(
graph: semantic_types.SemanticGraph,
input: CompositionInput,
check_signature: fn(FunctionSignature) -> Result(
Nil,
CompositionInputFailure,
),
) -> Result(PreparedCompositionInput, CompositionInputFailure)
pub fn prepared_empty(
prepared: PreparedCompositionInput,
) -> List(semantic_types.TypeRef)
pub fn prepared_graph(
prepared: PreparedCompositionInput,
) -> semantic_types.SemanticGraph
pub fn prepared_initial_obligations(
prepared: PreparedCompositionInput,
) -> List(semantic_types.SemanticObligation)
pub fn prepared_input(
prepared: PreparedCompositionInput,
) -> CompositionInput
pub fn project_owned(
tag_model: option.Option(semantic_types.TagModel),
value: semantic_types.SlotValue(exact_json.JsonValue),
path: List(semantic_types.PathStep),
) -> semantic_types.SlotValue(exact_json.JsonValue)
pub fn reachability_input(
checked: CheckedReachability,
) -> typed_mapping.SolverInput
pub fn reachability_witness(
checked: CheckedReachability,
) -> typed_mapping.ReachabilityWitness
pub fn replace_at(
values: List(a),
index: Int,
value: a,
) -> List(a)
pub fn require(condition: Bool, failure: e) -> Result(Nil, e)
pub fn resolved_shape(
graph: semantic_types.SemanticGraph,
reference: semantic_types.TypeRef,
) -> option.Option(semantic_types.TypeShape)
pub fn resource_closure_input(
checked: CheckedClosure,
) -> typed_mapping.SolverInput
pub fn resource_closure_witness(
checked: CheckedClosure,
) -> typed_mapping.ClosureWitness
pub fn resource_trace_meaning(
prepared: PreparedCompositionInput,
correspondence: ResourceCorrespondence,
) -> Result(Nil, UnresolvedObligation)
pub fn sample_value_fuel(
graph: semantic_types.SemanticGraph,
reference: semantic_types.TypeRef,
active: List(semantic_types.TypeRef),
fuel: Int,
max_sample_length: Int,
) -> SampleResult(exact_json.JsonValue)
pub fn samples(
graph: semantic_types.SemanticGraph,
reference: semantic_types.TypeRef,
active: List(semantic_types.TypeRef),
limit: Int,
) -> List(exact_json.JsonValue)
pub fn semantic_basis(
graph: semantic_types.SemanticGraph,
) -> SemanticBasis
pub fn slot_empty(
contract: semantic_types.SlotContract,
empty: List(semantic_types.TypeRef),
) -> Bool
pub fn slot_samples(
graph: semantic_types.SemanticGraph,
contract: semantic_types.SlotContract,
limit: Int,
) -> List(semantic_types.SlotValue(exact_json.JsonValue))
pub fn unique(values: List(a)) -> List(a)
pub fn verify_acyclic_witness(
input: typed_mapping.SolverInput,
witness: typed_mapping.AcyclicWitness,
) -> Result(CheckedAcyclic, WitnessFailure)
pub fn verify_closure_witness(
input: typed_mapping.SolverInput,
witness: typed_mapping.ClosureWitness,
) -> Result(CheckedClosure, WitnessFailure)
pub fn verify_composition(
prepared: PreparedCompositionInput,
raw: RawComposition,
) -> Result(CheckedComposition, WitnessFailure)
pub fn verify_composition_closure(
prepared: PreparedCompositionInput,
witness: CompositionClosureWitness,
) -> Result(CheckedCompositionClosure, WitnessFailure)
pub fn verify_counterexample(
graph: semantic_types.SemanticGraph,
certificate: CounterexampleCertificate,
) -> Result(Nil, InclusionFailure)
pub fn verify_inclusion(
graph: semantic_types.SemanticGraph,
source: semantic_types.SlotContract,
destination: semantic_types.SlotContract,
certificate: InclusionCertificate,
) -> Result(CheckedInclusion, InclusionFailure)
pub fn verify_reachability_witness(
input: typed_mapping.SolverInput,
witness: typed_mapping.ReachabilityWitness,
) -> Result(CheckedReachability, WitnessFailure)
pub fn verify_return_values(
prepared: PreparedCompositionInput,
terminal: ReturnPlan,
values: List(
#(ProducerRef, semantic_types.SlotValue(exact_json.JsonValue)),
),
) -> Result(Nil, WitnessFailure)
pub fn verify_unreachable_composition(
prepared: PreparedCompositionInput,
witness: CompositionClosureWitness,
) -> Result(Nil, WitnessFailure)
pub fn verify_value_models(
prepared: PreparedCompositionInput,
state: SearchState,
values: List(
#(ProducerRef, semantic_types.SlotValue(exact_json.JsonValue)),
),
) -> Result(Nil, WitnessFailure)