registry

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package registry stores validated node, condition, capability, and state module definitions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StateModuleKey

func StateModuleKey(name, version string) string

Types

type BuildContext

type BuildContext struct {
	InstanceConfig       *dsl.GraphInstanceConfig
	GraphResolver        GraphResolver
	ChildRunBuilder      ChildRunBuilder
	OnContractDiagnostic func(core.ContractDiagnostic)
}

func (*BuildContext) Clone

func (ctx *BuildContext) Clone() *BuildContext

func (*BuildContext) EmitContractDiagnostics

func (ctx *BuildContext) EmitContractDiagnostics(diagnostics []core.ContractDiagnostic)

type ChildRunBuilder

type ChildRunBuilder func(graphRef string) (ChildRunRunner, error)

type ConditionDefinition

type ConditionDefinition struct {
	dsl.ConditionSchema
	StatePorts []dsl.StatePortDefinition                          `json:"state_ports"`
	Resolve    func(ResolvedConditionSpec) (EdgeCondition, error) `json:"-"`
}

type EdgeCondition

type EdgeCondition struct {
	Spec     dsl.GraphConditionSpec
	Evaluate EdgeConditionEvaluator
}

func NewEdgeCondition

func NewEdgeCondition(spec dsl.GraphConditionSpec, evaluate EdgeConditionEvaluator) EdgeCondition

func (EdgeCondition) CloneSpec

func (condition EdgeCondition) CloneSpec() dsl.GraphConditionSpec

func (EdgeCondition) EvaluateRoute

func (condition EdgeCondition) EvaluateRoute(ctx context.Context, current *state.State) (RouteDecision, error)

func (EdgeCondition) Validate

func (condition EdgeCondition) Validate() error

func (EdgeCondition) WithSpec

func (condition EdgeCondition) WithSpec(spec dsl.GraphConditionSpec) EdgeCondition

type EdgeConditionEvaluator

type EdgeConditionEvaluator func(context.Context, *state.State) (RouteDecision, error)

type GraphResolver

type GraphResolver func(graphRef string) (dsl.GraphDefinition, error)

type NodeBuilder

type NodeBuilder func(*BuildContext, ResolvedNodeSpec) (core.Node, error)

type NodeGroup

type NodeGroup struct {
	Name      string   `json:"name"`
	NodeTypes []string `json:"node_types"`
}

type NodeTypeDefinition

type NodeTypeDefinition struct {
	dsl.NodeTypeSchema
	StatePorts []dsl.StatePortDefinition `json:"state_ports"`
	Build      NodeBuilder               `json:"-"`
}

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func NewRegistry

func NewRegistry() *Registry

func (*Registry) CapabilityDefinitions

func (r *Registry) CapabilityDefinitions() map[string]dsl.StateCapabilityDefinition

func (*Registry) CapabilityModule

func (r *Registry) CapabilityModule(id string) (string, bool)

func (*Registry) ConditionDefinitions

func (r *Registry) ConditionDefinitions() map[string]ConditionDefinition

func (*Registry) FindCapability

func (r *Registry) FindCapability(id string) (dsl.StateCapabilityDefinition, bool)

func (*Registry) FindCondition

func (r *Registry) FindCondition(conditionType string) (ConditionDefinition, bool)

func (*Registry) FindNodeGroup

func (r *Registry) FindNodeGroup(name string) (NodeGroup, bool)

func (*Registry) FindNodeType

func (r *Registry) FindNodeType(nodeType string) (NodeTypeDefinition, bool)

func (*Registry) FindReducer

func (r *Registry) FindReducer(identifier string) (state.Reducer, bool)

func (*Registry) FindStateModule

func (r *Registry) FindStateModule(name, version string) (dsl.StateModuleDefinition, bool)

func (*Registry) JSONSchema

func (r *Registry) JSONSchema() dsl.JSONSchema

func (*Registry) NodeGroupDefinitions

func (r *Registry) NodeGroupDefinitions() map[string]NodeGroup

func (*Registry) NodeTypeDefinitions

func (r *Registry) NodeTypeDefinitions() map[string]NodeTypeDefinition

func (*Registry) ReducerIDs

func (r *Registry) ReducerIDs() []string

func (*Registry) RegisterCondition

func (r *Registry) RegisterCondition(def ConditionDefinition) error

func (*Registry) RegisterNodeType

func (r *Registry) RegisterNodeType(def NodeTypeDefinition) error

func (*Registry) RegisterNodeTypeInGroup

func (r *Registry) RegisterNodeTypeInGroup(group string, def NodeTypeDefinition) error

func (*Registry) RegisterReducer

func (r *Registry) RegisterReducer(identifier string, reducer state.Reducer) error

func (*Registry) RegisterStateModule

func (r *Registry) RegisterStateModule(def dsl.StateModuleDefinition) error

func (*Registry) ResolveCondition

func (r *Registry) ResolveCondition(spec ResolvedConditionSpec) (EdgeCondition, error)

func (*Registry) StateFieldDefinitions

func (r *Registry) StateFieldDefinitions() map[string]dsl.StateFieldDefinition

func (*Registry) StateModuleDefinitions

func (r *Registry) StateModuleDefinitions() map[string]dsl.StateModuleDefinition

type ResolvedConditionSpec

type ResolvedConditionSpec struct {
	Spec  dsl.GraphConditionSpec
	State map[string]ResolvedStateBinding
}

type ResolvedNodeSpec

type ResolvedNodeSpec struct {
	Spec  dsl.GraphNodeSpec
	State map[string]ResolvedStateBinding
}

type ResolvedStateBinding

type ResolvedStateBinding struct {
	Path       state.Path
	Capability string
	Contract   state.Contract
}

type RouteDecision

type RouteDecision struct {
	Matched bool
	Targets []core.NodeRef
	Send    []core.Send
	Reason  string
	Details map[string]any
}

func (RouteDecision) Validate

func (decision RouteDecision) Validate() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL