runtime

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func UnmarshalFromMap

func UnmarshalFromMap[T any](data map[string]any) (T, error)

UnmarshalFromMap is a helper to convert a map[string]any to a struct using mapstructure for efficient and robust conversion.

Types

type ExecutionContextData

type ExecutionContextData struct {
	// Inputs carries the hydrated step inputs visible to the current engram.
	Inputs map[string]any `json:"inputs"`
	// Config carries the hydrated static configuration for the current engram.
	Config map[string]any `json:"config"`
	// Secrets contains the secret descriptors or literal values injected for the step.
	Secrets map[string]string `json:"secrets"`
	// StoryInfo identifies the current Story, StoryRun, Step, and StepRun.
	StoryInfo engram.StoryInfo `json:"storyInfo"`
	// CELContext exposes controller-provided CEL inputs and prior step outputs.
	CELContext map[string]any `json:"celContext,omitempty"`
	// Transports lists the declared story transports available to the runtime.
	Transports []engram.TransportDescriptor `json:"transports,omitempty"`
	// StoryRef identifies the Story resource when the controller provides it explicitly.
	StoryRef *refs.StoryReference `json:"storyRef,omitempty"`
	// StartedAt records when the controller says the current execution began.
	StartedAt metav1.Time `json:"startedAt"`
	// Storage configures the shared object storage backend, when enabled.
	Storage *StorageConfig `json:"storage,omitempty"`
	// Execution carries runtime tuning such as timeouts and inline-size limits.
	Execution ExecutionInfo `json:"execution"`
}

ExecutionContextData is the structure of the data provided by the bobrapet controller to the SDK.

func LoadExecutionContextData

func LoadExecutionContextData() (*ExecutionContextData, error)

LoadExecutionContextData loads the execution context from environment variables.

type ExecutionInfo

type ExecutionInfo struct {
	// Mode is the controller-selected execution mode for the step.
	Mode string
	// StepTimeout is the maximum runtime allowed for the step.
	StepTimeout time.Duration
	// MaxInlineSize is the maximum payload size kept inline before offload.
	MaxInlineSize int
	// GRPCPort is the listening port used by gRPC-based runtimes.
	GRPCPort int
}

ExecutionInfo holds runtime parameters for the current step execution.

type S3StorageConfig

type S3StorageConfig struct {
	// Bucket is the target S3 bucket name.
	Bucket string
	// Region is the AWS region for the bucket.
	Region string
	// Endpoint overrides the default S3 endpoint when set.
	Endpoint string
}

S3StorageConfig holds S3-specific storage configuration.

type StorageConfig

type StorageConfig struct {
	// Provider identifies the backing storage implementation (for example, `s3`).
	Provider string
	// S3 carries provider-specific settings when Provider is `s3`.
	S3 *S3StorageConfig
	// Timeout bounds storage read/write operations when set.
	Timeout time.Duration
}

StorageConfig holds the configuration for object storage.

Jump to

Keyboard shortcuts

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