resolver

package
v0.0.0-...-4afd048 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CELConfig

type CELConfig struct {
	MaxExpressionSize       int
	MaxRecursionDepth       int
	MaxASTNodes             int
	CostLimit               uint64
	InterruptCheckFrequency uint

	MaxTemplateSize        int
	MaxTemplateExpressions int
	MaxResolvedStringSize  int
}

func DefaultCELConfig

func DefaultCELConfig() CELConfig

type CapabilityEnvironment

type CapabilityEnvironment struct {
	Params     map[string]any
	Execution  map[string]any
	Capability map[string]any
}

CapabilityEnvironment is available to Capability configuration templates.

type Compiler

type Compiler interface {
	CompileTransitionExpression(expression string) (Program, error)
	CompileCapabilityConfigurations(config map[string]any) (ConfigurationProgram, error)
}

Compiler compiles both Binding expressions and Capability configuration templates.

func NewCELCompiler

func NewCELCompiler(config CELConfig) (Compiler, error)

type ConfigurationProgram

type ConfigurationProgram interface {
	Resolve(ctx context.Context, environment CapabilityEnvironment) (map[string]any, error)
}

ConfigurationProgram is a recursively compiled Capability configuration map.

type Environment

type Environment struct {
	Source    map[string]any
	Execution map[string]any
}

Environment is available to Binding mapping and validation expressions.

type Program

type Program interface {
	Evaluate(ctx context.Context, environment Environment) (any, error)
	Expression() string
}

Program is a compiled Binding mapping/validation expression.

Jump to

Keyboard shortcuts

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