Core API#

Layer 4: Extend Framework

The Core API is the public facade for component contracts, graphs, state, and compiled plans. For ordinary extensions, import names from saealib.core rather than referring directly to implementation-module paths.

saealib.core.Component

Declare the contract supplied by a component.

saealib.core.ComponentContract

Declare a component's ports, services, parts, and sub-contracts.

saealib.core.PartSpec

Declare one constructor-held component contract.

saealib.core.AssumptionSet

Map declared assumptions while supplying unaware defaults.

saealib.core.DataSpec

A nominal data kind with bound schema-variable values.

saealib.core.PortContract

Input and output ports for one component role.

saealib.core.PortSpec

A named, directional data contract.

saealib.core.StateContract

Declare state keys read, written, or exported by a component.

saealib.core.LifecycleContract

Declare events consumed by a component.

saealib.core.ExecutionContract

Declare runtime capabilities required or offered by a component.

saealib.core.ComponentGraph

A self-contained graph and its declared entry points.

saealib.core.StructuredGraph

A frozen ComponentGraph retaining structured control regions.

saealib.core.StructuredRegion

Base immutable description of a structured control region.

saealib.core.CompilationRule

Common metadata and application boundary for compiler rules.

saealib.core.StateStore

Own versioned state values and consume each instance after a move.

saealib.core.StateView

Read-only projection of a store for declared state keys.

saealib.core.StatePatch

Describe replacement, in-place, and deletion operations on state.

saealib.core.ExecutablePlan

Immutable result of compilation; execution belongs to a later phase.

saealib.core.ExecutionRuntime

Protocol consumed by a runner; concrete execution is a later unit.

The public import policy for Compiler is still being organized. This page therefore does not declare either saealib.core or saealib.core.compiler as the standard import path. For code that uses the Compiler, check the target release’s public API and release notes.

Graph composition values are available from saealib.core.compiler.

saealib.core.compiler.ComponentNode

Hold a component instance and its compilation-local contract snapshot.

saealib.core.compiler.NodeRef

Identify a graph node, optionally in one of its component roles.

saealib.core.compiler.DataEdge

Connect a source port to a target port.

saealib.core.compiler.ControlEdge

Express control dependency between two graph nodes.

saealib.core.compiler.StateBinding

Bind a component node to an actual state key.

saealib.core.compiler.Diagnostic

A structured compiler finding attached to a contract path.

saealib.core.compiler.ContractPath

An ordered component path with an optional role and port.