Versions in this module Expand all Collapse all v0 v0.34.0 Feb 26, 2026 Changes in this version + var ErrActionMutualExclusion = errors.New("action cannot have both workflowId and stepId") + var ErrCircularDependency = errors.New("circular workflow dependency detected") + var ErrDuplicateStepId = errors.New("duplicate stepId within workflow") + var ErrDuplicateWorkflowId = errors.New("duplicate workflowId") + var ErrEmptySourceDescriptions = errors.New("sourceDescriptions must have at least one entry") + var ErrEmptySteps = errors.New("steps must have at least one entry") + var ErrEmptyWorkflows = errors.New("workflows must have at least one entry") + var ErrExecutorNotConfigured = errors.New("executor is not configured") + var ErrGotoRequiresTarget = errors.New("goto action requires workflowId or stepId") + var ErrInvalidArazzo = errors.New("invalid arazzo document") + var ErrInvalidExpression = errors.New("invalid runtime expression") + var ErrInvalidFailureType = errors.New("failure action type must be 'end', 'retry', or 'goto'") + var ErrInvalidParameterIn = errors.New("'in' must be path, query, header, or cookie") + var ErrInvalidSuccessType = errors.New("success action type must be 'end' or 'goto'") + var ErrMissingActionName = errors.New("missing required 'name'") + var ErrMissingActionType = errors.New("missing required 'type'") + var ErrMissingArazzoField = errors.New("missing required 'arazzo' field") + var ErrMissingCondition = errors.New("missing required 'condition'") + var ErrMissingInfo = errors.New("missing required 'info' field") + var ErrMissingParameterIn = errors.New("missing required 'in' for operation parameter") + var ErrMissingParameterName = errors.New("missing required 'name'") + var ErrMissingParameterValue = errors.New("missing required 'value'") + var ErrMissingSourceDescriptions = errors.New("missing required 'sourceDescriptions' field") + var ErrMissingStepId = errors.New("missing required 'stepId'") + var ErrMissingSteps = errors.New("missing required 'steps'") + var ErrMissingWorkflowId = errors.New("missing required 'workflowId'") + var ErrMissingWorkflows = errors.New("missing required 'workflows' field") + var ErrOperationSourceMapping = errors.New("operation source mapping failed") + var ErrSourceDescLoadFailed = errors.New("failed to load source description") + var ErrStepIdNotInWorkflow = errors.New("stepId must reference a step in the current workflow") + var ErrStepMutualExclusion = errors.New("step must have exactly one of operationId, operationPath, or workflowId") + var ErrUnknownExpressionPrefix = errors.New("unknown expression prefix") + var ErrUnresolvedComponent = errors.New("component reference not found") + var ErrUnresolvedOperationRef = errors.New("operation reference not found") + var ErrUnresolvedSourceDesc = errors.New("sourceDescription reference not found") + var ErrUnresolvedWorkflowRef = errors.New("workflowId references unknown workflow") + func ClearCriterionCaches() + func EvaluateCriterion(criterion *high.Criterion, exprCtx *expression.Context) (bool, error) + type ArazzoDocumentFactory func(sourceURL string, bytes []byte) (*high.Arazzo, error) + type Engine struct + func NewEngine(doc *high.Arazzo, executor Executor, sources []*ResolvedSource) *Engine + func NewEngineWithConfig(doc *high.Arazzo, executor Executor, sources []*ResolvedSource, ...) *Engine + func (e *Engine) ClearCaches() + func (e *Engine) RunAll(ctx context.Context, inputs map[string]map[string]any) (*RunResult, error) + func (e *Engine) RunWorkflow(ctx context.Context, workflowId string, inputs map[string]any) (*WorkflowResult, error) + type EngineConfig struct + RetainResponseBodies bool + type ExecutionRequest struct + ContentType string + Method string + OperationID string + OperationPath string + Parameters map[string]any + RequestBody any + Source *ResolvedSource + type ExecutionResponse struct + Body any + Headers map[string][]string + Method string + StatusCode int + URL string + type Executor interface + Execute func(ctx context.Context, req *ExecutionRequest) (*ExecutionResponse, error) + type OpenAPIDocumentFactory func(sourceURL string, bytes []byte) (*v3high.Document, error) + type ResolveConfig struct + AllowedHosts []string + AllowedSchemes []string + ArazzoFactory ArazzoDocumentFactory + BaseURL string + FSRoots []string + HTTPClient *http.Client + HTTPHandler func(url string) ([]byte, error) + MaxBodySize int64 + MaxSources int + OpenAPIFactory OpenAPIDocumentFactory + Timeout time.Duration + type ResolvedSource struct + ArazzoDocument *high.Arazzo + Name string + OpenAPIDocument *v3high.Document + Type string + URL string + func ResolveSources(doc *high.Arazzo, config *ResolveConfig) ([]*ResolvedSource, error) + type RunResult struct + Duration time.Duration + Success bool + Workflows []*WorkflowResult + type StepFailureError struct + Cause error + CriterionIndex int + Message string + StepId string + func (e *StepFailureError) Error() string + func (e *StepFailureError) Unwrap() error + type StepResult struct + Duration time.Duration + Error error + Outputs map[string]any + Retries int + StatusCode int + StepId string + Success bool + type ValidationError struct + Cause error + Column int + Line int + Path string + func (e *ValidationError) Error() string + func (e *ValidationError) Unwrap() error + type ValidationResult struct + Errors []*ValidationError + Warnings []*Warning + func Validate(doc *high.Arazzo) *ValidationResult + func (r *ValidationResult) Error() string + func (r *ValidationResult) HasErrors() bool + func (r *ValidationResult) HasWarnings() bool + func (r *ValidationResult) Unwrap() []error + type Warning struct + Column int + Line int + Message string + Path string + func (w *Warning) String() string + type WorkflowResult struct + Duration time.Duration + Error error + Inputs map[string]any + Outputs map[string]any + Steps []*StepResult + Success bool + WorkflowId string